集合异常原因与处理方式

 1 package ji_he_yi_chang;
 2 
 3 import java.util.ArrayList;
 4 import java.util.Iterator;
 5 import java.util.List;
 6 import java.util.ListIterator;
 7 /**
 8  * 迭代器依赖与集合存在,判断成功后,集合中添加的元素,而迭代器不知道
 9  * 叫:
10  *             并发修改异常
11  *         A:迭代器迭代元素,迭代器修改元素(
12  * 而Iterator迭代器没有添加元素的功能,ListIerator()可以
13  *             元素是跟在刚才迭代的元素后面)
14  *         B:集合遍历元素,集合修改元素(for)
15  *             元素是放在最后的
16  */
17 public class TestListIterator {
18     public static void main(String[] args) {
19         List list = new ArrayList();
20         
21         list.add("hello");
22         list.add("world");
23         list.add("java");
24         
25         //迭代器遍历
26 //        Iterator it = list.iterator();
27 //        
28 //        while(it.hasNext()){
29 //            String s = (String) it.next();
30 //            if ("world".equals(s)) {
31 //                list.add("javaee");
32 //                
33 //            }
34 //        //方法1.迭代器迭代元素,迭代器修改元素
35 //        ListIterator lit = list.listIterator();
36 //        while(lit.hasNext()){
37 //            String s = (String) lit.next();
38 //            if ("world".equals(s)) {
39 //                lit.add("javaee");
40 //            }
41 //        }
42         
43         //方法2.集合遍历元素,集合修改元素(for)
44         for (int x = 0; x < list.size(); x++) {
45             String s = (String) list.get(x);
46             if ("world".equals(s)) {
47                 list.add("javaee");
48             }
49         }
50         
51         
52         System.out.println("list:" + list);
53     }
54 }
原文地址:https://www.cnblogs.com/javacoding/p/5362259.html