在遍历ArrayList时,直接使用remove()方法会导致ConcurrentModificationException异常。为了安全地移除元素,可以使用迭代器(Iterator)来进行遍历并移除元素。以下是一个示例代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| import java.util.ArrayList; import java.util.Iterator;
public class ArrayListRemovalExample { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("Apple"); list.add("Banana"); list.add("Orange"); list.add("Grape");
Iterator<String> iterator = list.iterator(); while (iterator.hasNext()) { String element = iterator.next(); if (element.equals("Orange")) { iterator.remove(); } }
for (String element : list) { System.out.println(element); } } }
|
在上述代码中,我们首先创建了一个ArrayList,并添加了一些元素。然后使用迭代器进行遍历,如果找到要移除的元素(在这个例子中是”Orange”),就使用迭代器的remove()方法将其从ArrayList中移除。最后,我们打印移除后的ArrayList,输出结果将不包含被移除的元素。请注意,在使用迭代器的过程中,我们使用的是迭代器的remove()方法而不是ArrayList的remove()方法,这样可以避免ConcurrentModificationException异常的发生。