集合异常原因与处理方式
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 }