Java向量/列表元素删除
您好,我有两个关于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;
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)之后的某个地方正常工作将对象转换为JSON之前。我怀疑你说的这一步!您真的在删除元素后将其转换为JSON了吗
另外,尝试将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)之后的某个地方正常工作将对象转换为JSON之前。我怀疑你说的这一步!您真的在删除元素后将其转换为JSON了吗
另外,尝试将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语句之前,一切正常。希望这有帮助。