gpt4 book ai didi

java - 如何删除数组列表中的对象

转载 作者:行者123 更新时间:2023-11-29 09:40:32 25 4
gpt4 key购买 nike

我为此进行了很多搜索,并检查了作为可能答案提供的帖子,但似乎没有一个给我答案。

我有一个存储在线用户的数组列表。我可以从用户列表中读取并添加到它。问题是,我似乎不知道如何删除它。

我试过了

online.remove("MyUsername");

我的类和初始化器是这样的:

 ArrayList<userOnline> online = new ArrayList<userOnline>();

class userOnline {
String userName;
String data1;
String data2;
String data3;
}

我认为它会找到带有用户名的对象行并删除该行,或者至少删除用户名,但它什么也没删除,也没有给我任何错误。

我该怎么做才能让它发挥作用?或者,如果这不可能,我可以使用什么作为替代方案?指向文档解释的指针将提供足够的帮助!

谢谢!

似乎解决方案是这样的,但这不是好的做法

for (int i=0; i <online.size(); i++) {
if(online.get(i).userName.equals("username")) {
online.remove(i);
}
}

经过讨论和大量反馈,java 处理此搜索和删除的唯一正确方法似乎是,

  Iterator<userOnline> it = online.iterator();
while (it.hasNext()) {
userOnline user = it.next();
if (currentLogin.equals(user.userName)) {
it.remove();
}
}

最佳答案

我找不到复制品或合适的文档,所以这里是:

使用迭代器:

for (Iterator<userOnline> iterator = online.iterator(); iterator.hasNext();) {
if (iterator.next().getName().equals("MyUsername")) {
iterator.remove();
}
}

关于java - 如何删除数组列表中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42380499/

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