Newbie蔡  
 1 import java.util.ArrayList;
 2 import java.util.Iterator;
 3 import java.util.List;
 4 
 5 public class Test3 {
 6 
 7     public static void main(String[] args) {
 8         List list = new ArrayList();
 9         
10         list.add("abc1");
11         list.add("abc2");
12         list.add("abc3");
13         list.add("abc4");
14         
15         Iterator it = list.iterator();
16         while (it.hasNext()){
17             Object obj = it.next();   //java.util.ConcurrentModificationException
18             
19             if (obj.equals("abc2")){
20                 list.add("abc9");     //在迭代器过程中,不要使用集合操作元素,容易出现异常。
21                                       //可以使用Iterator接口的子接口ListIterator来完成在迭代中对元素进行更多的操作
22             }
23             else
24                 System.out.println("next:"+obj);
25         }
26         System.out.println(list);
27 
28     }
29 
30 }

 

 

 1 import java.util.ArrayList;
 2 import java.util.List;
 3 import java.util.ListIterator;
 4 
 5 public class Test3 {
 6 
 7     public static void main(String[] args) {
 8         List list = new ArrayList();
 9         
10         list.add("abc1");
11         list.add("abc2");
12         list.add("abc3");
13         list.add("abc4");
14         
15         System.out.println("list:"+list);
16         
17         ListIterator it = list.listIterator();//获取列表迭代器的对象
18                                               //它可以实现在迭代过程中完成对元素的增删改查
19                                                //注意:只有list集合具备该迭代功能
20         
21         System.out.println("hasNext:"+it.hasPrevious()); //返回列表中当前位置的前面是否有元素的结果。 true or false
22         
23         while (it.hasNext()){
24             Object obj = it.next();
25             
26             if (obj.equals("abc2")){
27                 it.set("abc9");     //用指定元素替换 next 或 previous 返回的最后一个元素(可选操作)。
28             }
29         }
30         
31         System.out.println("list:"+list);
32         System.out.println();
33         
34         System.out.println("hasNext:"+it.hasNext());
35         System.out.println("hasNext:"+it.hasPrevious());
36         System.out.println();
37         
38         while (it.hasPrevious())
39         {
40             System.out.println("Previous:"+it.previous());
41         }
42         System.out.println();
43         
44         System.out.println("list:"+list);
45     }
46 
47 }

 

 

posted on 2016-08-23 13:47  Newbie蔡  阅读(569)  评论(0编辑  收藏  举报