package java_test;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ListItertorDemo {
public static void main(String[] args) {
List list=new ArrayList();
list.add("abc1");
list.add("abc2");
list.add("abc3");
//在遍历的过程中,如果遍历到abc2,添加一个元素haha
/*for (Iterator it = list.iterator(); it.hasNext();) {//java.util.ConcurrentModificationException
Object obj = it.next();//迭代过程中使用了集合对象同时对元素进行操作,导致了迭代的不确定性,引发了该
if(obj.equals("abc2")){//解决思想:在迭代过程中,想要执行一些操作,使用迭代器的方法就可以了
list.add("haha");
}
}*/
//使用list集合的特有的迭代器,ListIterator(),通过List集合方法listIterator()获取迭代器对象
for (ListIterator it = list.listIterator(); it.hasNext();) {
Object obj = it.next();
if(obj.equals("abc2")){
it.add("haha");
}
}
System.out.println(list);
}
}
运行结果:
[abc1, abc2, haha, abc3]