参考代码如下:
package day23;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
public class Demo05It {
public static void main(String[] args) {
List list=new ArrayList<>();
//可以使用ListIterator
Iterator it=list.iterator();
list.add("aaa");
list.add("bbb");
//如果有了迭代器,也想继续加数据,不要针对原来的list;除非你迭代器遍历完毕;
while (it.hasNext()){
Object obj = it.next();
System.out.println(obj);
}
System.out.println(list);
}
}
```使用迭代器 进行数据获取之后,再对原来的list进行追加,会导致ConcurrentModificationException异常。原因在于迭代器只是List的拷贝(镜像)。可以采用ListIterator it = list.listIterator();
将之前的代码修改为:
ListIterator it = list.listIterator();
it.add("aaa");
it.add("bbb");