我想在遍历它时从我的arrayList 中删除一个项目,并且它ArrayList有一个类型类成员。我已经阅读了多个有关如何解决此问题的示例,但是没有一个有效,ConcurrentModificationException仍然被抛出。Iterator<Members> itr = members.iterator();while (itr.hasNext()) { Members foundMember = itr.next(); if (foundMember.equals(member)){ itr.remove(); }}
2 回答
狐的传说
TA贡献1804条经验 获得超3个赞
当然我的第一个解决方案是不正确的facepalm ,如上所述,“.removeIf”很可能是最简单的解决方案。
只需使用“正常”的 for 循环(我认为这应该可行,请看一下 这个,顺便说一句。“增强的 for 循环”将不起作用。
List<Member> list1 = new ArrayList<>();
List<Member> list2 = new ArrayList<>(list1);
for (int i = 0; i < list1.size(); i++) {
Member member = list1.get(i);
...
list2.remove(member);
}
list1 = list2;
添加回答
举报
0/150
提交
取消