我想在我的arrayList中进行迭代时删除它,并且set.seed(42)
sample(x,1,replace=TRUE)
的类型为Member类。我已经阅读了多个有关如何解决此问题的示例,但是都无济于事,ArrayList
仍然被抛出。
ConcurrentModificationException
答案 0 :(得分:0)
我最终的解决方案是使用CopyOnWriteArrayList,而不是使用remove()的ArrayList;方法。
答案 1 :(得分:-1)
EDIT 当然,我的第一个解决方案是错误的 facepalm 如上所述,“。removeIf”最有可能是最简单的解决方案。
只需使用“正常”的for循环(我认为应该可以,请看一下 this,顺便说一句。 “增强的循环”将不起作用。
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;