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 }