写一段代码在遍历 ArrayList 时移除一个元素?
参考答案:
在遍历 ArrayList
时,如果你尝试直接删除元素,可能会遇到 ConcurrentModificationException
。为了避免这个问题,你可以使用迭代器 (Iterator
) 来遍历并删除元素。
以下是一个示例代码,演示如何在遍历 ArrayList
时删除一个元素:
import java.util.ArrayList;
import java.util.Iterator;
public class ArrayListExample {
public static void main(String[] args) {
// 创建一个 ArrayList
ArrayList<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
list.add("Date");
// 使用迭代器遍历 ArrayList
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String element = iterator.next();
// 检查是否要删除元素,例如:删除 "Banana"
if ("Banana".equals(element)) {
iterator.remove();
}
}
// 打印修改后的 ArrayList
System.out.println(list);
}
}
在这个示例中,我们创建了一个包含四个元素的 ArrayList
。然后,我们使用 iterator()
方法获取一个迭代器,并使用 while
循环遍历 ArrayList
。在循环中,我们检查当前元素是否是 "Banana",如果是,则使用迭代器的 remove()
方法删除该元素。最后,我们打印修改后的 ArrayList
,它不再包含 "Banana"。