java iterator 遍历时新增元素
时间: 2023-10-11 19:16:29 浏览: 265
java 插入新元素
3星 · 编辑精心推荐
在使用Java的Iterator遍历集合时,不能直接向集合中添加或删除元素。如果尝试这样做,会抛出ConcurrentModificationException异常。
如果需要在遍历时添加元素,可以通过使用集合的add()方法或者Iterator的add()方法来实现。例如:
```java
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String fruit = iterator.next();
if (fruit.equals("banana")) {
list.add("grape"); // 抛出ConcurrentModificationException异常
}
System.out.println(fruit);
}
// 可以使用Iterator的add()方法添加元素
iterator = list.iterator();
while (iterator.hasNext()) {
String fruit = iterator.next();
if (fruit.equals("banana")) {
iterator.add("grape"); // 在banana后面添加grape
}
System.out.println(fruit);
}
```
注意,使用Iterator的add()方法添加元素时,要在当前元素之前插入新元素,否则会出现顺序错误的情况。
阅读全文