Java向量/列表元素删除

Java向量/列表元素删除,java,list,vector,add,element,Java,List,Vector,Add,Element,您好,我有两个关于Java向量元素删除的快速问题 如何从向量中删除元素 如果我从我的对象中的向量中删除一个元素,然后将我的对象添加到一个JSON文件中,那么JSON文件中是否会缺少该元素?或者删除的元素仍然在json文件中吗 代码如下: public class Activities { private String instanceID; private String tripID; public List<ActivitySensor> acts;

您好,我有两个关于Java向量元素删除的快速问题

  • 如何从向量中删除元素
  • 如果我从我的对象中的向量中删除一个元素,然后将我的对象添加到一个JSON文件中,那么JSON文件中是否会缺少该元素?或者删除的元素仍然在json文件中吗
  • 代码如下:

    public class Activities {
        private String instanceID;
        private String tripID;
        public List<ActivitySensor> acts;
        private String gout;
    
        public Activities() {
            acts = new Vector<ActivitySensor>(3, 3);
        }
        // etc
        // etc
    }
    
    public class ActivitySensor {
        private String name;
        private int typeID;
        private int confidence;
        private Date beginTime;
        // etc
        // etc
    }
    
    然后,当我想在ActivitySensor中添加一组新的元素时,我会这样做

    activities.acts.add(act);
    
    所有这些都在起作用。问题是。。。 当我在处理和学习有关上述act对象添加的新内容时,有时我想删除一些act条目

    所以我这么做

    activities.acts.remove(act);
    
    我没有收到任何错误,但在下一步之后,它们似乎没有真正被删除

    当我完成处理后,我将在activities对象上进行初始化。json文件包含所有act元素,甚至包括我删除的元素。因此,remove元素真的删除了元素还是只是在某处设置了一个标志?或者,我是否以错误的方式处理此问题,并且我的删除并没有像我预期的那样真正起作用

    1-如何从向量中删除元素

    按照您在此代码中的方式执行,即通过调用或方法

    activities.act.remove(act)应该在
    activies.act.add(act)之后的某个地方正常工作
    另外,尝试将remove语句的输出存储到布尔变量中

    boolean isRemoved = activities.acts.remove(act);
    
    公共布尔删除(对象o)

    删除此向量中指定元素的第一个匹配项。 如果向量不包含该元素,则该元素保持不变。更多 形式上,移除索引i最低的元素,以便 (o==null?get(i)==null:o.equals(get(i))(如果这样的元素 存在)


  • 如果我从我的对象中的向量中删除一个元素,然后将我的对象添加到一个JSON文件中,那么JSON文件中将不包含该元素 文件或者删除的元素仍然在json文件中吗
  • 如果在从对象中删除矢量元素后,将对象绑定到JSON文件中,那么JSON文件中肯定不会有矢量元素。就像任何事情一样简单,就像预期的那样

    另外,我建议您查看调试器

    1-如何从向量中删除元素

    按照您在此代码中的方式执行,即通过调用或方法

    activities.act.remove(act)应该在
    activies.act.add(act)之后的某个地方正常工作
    另外,尝试将remove语句的输出存储到布尔变量中

    boolean isRemoved = activities.acts.remove(act);
    
    公共布尔删除(对象o)

    删除此向量中指定元素的第一个匹配项。 如果向量不包含该元素,则该元素保持不变。更多 形式上,移除索引i最低的元素,以便 (o==null?get(i)==null:o.equals(get(i))(如果这样的元素 存在)


  • 如果我从我的对象中的向量中删除一个元素,然后将我的对象添加到一个JSON文件中,那么JSON文件中将不包含该元素 文件或者删除的元素仍然在json文件中吗
  • 如果在从对象中删除矢量元素后,将对象绑定到JSON文件中,那么JSON文件中肯定不会有矢量元素。就像任何事情一样简单,就像预期的那样


    另外,我建议您查看调试器。

    您是否可以删除或注释掉
    etc
    行,以便编译此代码?谢谢。如果成功删除元素,则返回true。你可以检查向量的大小,如果它改变了。你可以删除或注释掉
    etc
    行,这样代码就可以编译了吗?谢谢。如果成功删除元素,则返回true。如果向量改变了,你可以检查它的大小。是的,先生,你很有帮助:谢谢大家。我发现了问题。我在remove语句之前实例化了act。我已经重新安排了,它现在正在工作。在修复之前,我调用了:act=newactivitysensor();就在搬家之前。因此,移除所做的只是移除一个全新的行为,而不是我想要移除的行为。因此,我将remove语句移动到act=new语句之前,一切正常。希望这有帮助。是的,先生,你很有帮助:谢谢大家。我发现了问题。我在remove语句之前实例化了act。我已经重新安排了,它现在正在工作。在修复之前,我调用了:act=newactivitysensor();就在搬家之前。因此,移除所做的只是移除一个全新的行为,而不是我想要移除的行为。因此,我将remove语句移动到act=new语句之前,一切正常。希望这有帮助。