gpt4 book ai didi

Java vector/列表元素删除

转载 作者:行者123 更新时间:2023-12-02 03:11:49 25 4
gpt4 key购买 nike

您好,我有 2 个关于 Java Vector 元素删除的简单问题。

  1. 如何从 vector 中删除元素
  2. 如果我从对象的 vector 中删除一个元素,然后将我的对象 GSON 到 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 act;
Activities activities = new Activities();
act = new ActivitySensor();

然后,当我想要将一组新元素添加到 ActivitySensor 时,我会这样做...

activities.acts.add(act);

以上所有内容均有效。问题是这样的... 当我正在处理和学习有关上述行为对象添加的新内容时,我有时想删除一些行为条目。

所以我这样做

activities.acts.remove(act);

我没有收到任何错误,但在下一步之后,它们似乎并未真正被删除。

当我完成处理后,我 GSON Activity 对象。 json 文件包含所有 act 元素,甚至是我删除的元素。因此,删除元素是否真的删除了该元素,或者只是在某处设置了一个标志?或者,我是否以错误的方式处理这个问题,并且我的删除并没有真正按照我的预期工作?

最佳答案

1 - How do I remove an element from my vector

按照您在这段代码中所做的方式进行操作,即调用 public boolean remove(Object o)public E remove(int index)方法。

activities.acts.remove(act); 应该在 activities.acts.add(act); 之后以及将对象转换为 JSON 之前正常工作。我怀疑你所说的步骤!删除元素后你真的将其转换为 JSON 了吗?

此外,尝试将删除语句的输出存储到 boolean 变量中。

boolean isRemoved = activities.acts.remove(act);

public boolean remove(Object o)

Removes the first occurrence of the specified element in this Vector. If the Vector does not contain the element, it is unchanged. More formally, removes the element with the lowest index i such that (o==null ? get(i)==null : o.equals(get(i))) (if such an element exists).

<小时/>
  1. If I remove an element from the vector in my object and I then GSON my object to a JSON file will the element be absent from the json file? Or will the removed element still be in the json file?

如果从对象中删除 vector 元素后将对象 GSON 到 JSON 文件,那么它肯定不会出现在 JSON 文件中。正如预期的那样简单。

另外,我建议您通过调试器进行查看。

关于Java vector/列表元素删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40918665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com