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]