ListIterator避免併發修改異常
阿新 • • 發佈:2018-11-06
public class Demo3_List { /** ** A:案例演示 * 需求:我有一個集合,請問,我想判斷裡面有沒有"world"這個元素,如果有,我就新增一個"javaee"元素,請寫程式碼實現。 */ public static void main(String[] args) { List list = new ArrayList(); list.add("a"); //Object obj = new String(); list.add("b"); list.add("world"); list.add("c"); list.add("d"); list.add("e"); /*Iterator it = list.iterator(); //獲取迭代器 while(it.hasNext()) { //判斷集合中是否有元素 String str = (String)it.next(); //向下轉型 if("world".equals(str)) { list.add("javaee"); //遍歷的同時在增加元素,併發修改ConcurrentModificationException } }*/ ListIterator lit = list.listIterator(); //獲取迭代器(List集合特有的) while(lit.hasNext()) { String str = (String)lit.next(); //向下轉型 if("world".equals(str)) { //list.add("javaee"); //遍歷的同時在增加元素,併發修改ConcurrentModificationException lit.add("javaee"); } } System.out.println(list); } }