在执行此操作时,我发现了关于避免 ConcurrentModificationException
的最佳方法的相互矛盾的建议:
List<Apple> Apples = appleCart.getApples();
for (Apple apple : Apples)
{
delete(apple);
}
我倾向于使用
Iterator
代替 List
并调用其 remove
方法。这在这里最有意义吗?
最佳答案
是的,使用迭代器。然后你可以使用它的 remove 方法。
for (Iterator<Apple> appleIterator = Apples.iterator(); appleIterator.hasNext();) {
Apple apple = appleIterator.next();
if (apple.isTart()) {
appleIterator.remove();
}
}
}
关于java - 在迭代列表时删除列表元素在 Java 中是否有公认的最佳实践?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5915331/