gpt4 book ai didi

java - 如果 Arraylist 中存在元素而不引发 ConcurrentModificationException,则从 Arraylist 中移除这些元素

转载 作者:行者123 更新时间:2023-11-29 09:17:22 24 4
gpt4 key购买 nike

代码如下:

Ledger obj = null;
MyUtilPojo obj1 = null;
Iterator it = toList.iterator();
while (it.hasNext()) {
obj = (Ledger) it.next(); //after first iteration next here produce an error
Iterator it1 = moreToList.iterator();
while (it1.hasNext()) {
obj1 = (MyUtilPojo) it1.next();
if (obj.getId() == obj1.getKey()) {
toList.remove(obj);
}
}
}

这会引发错误 ConcurrentModificationException,有人可以帮忙吗?

最佳答案

类似的东西应该可以工作(在临时列表中为 toList 构建新内容):

final List<Ledger> target = new ArrayList<Ledger>();
for (final Ledger led : toList) {
for (final MyUtilPojo mup : moreToList) {
if (led.getId() != mup.getKey()) { // beware of !=
target.add(led);
}
}
}

toList = target;

关于java - 如果 Arraylist 中存在元素而不引发 ConcurrentModificationException,则从 Arraylist 中移除这些元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8585306/

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