List集合特有的迭代器ListIterator

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]

原文地址:https://www.cnblogs.com/youning/p/7211330.html