当在遍历 ArrayList 时对其进行修改,就会触发 ConcurrentModificationException 异常。这种情况通常在使用 for-each 或 for 循环遍历列表时发生。为了避免这种异常,可以使用迭代器来遍历 ArrayList,因为迭代器提供了 remove() 方法,可以正确地删除列表中的元素。以下是一个使用迭代器遍历并修改 ArrayList 的示例代码:
ArrayList list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
String item = iterator.next();
if (item.equals("banana")) {
iterator.remove();
}
}
在这个示例中,我们使用迭代器来遍历 ArrayList,当找到一个元素等于 "banana" 时,我们使用迭代器的 remove() 方法删除该元素。这种方式可以避免 ConcurrentModificationException 异常的发生。
下一篇:ArrayList错误