集合框架-ListIterator接口

 1 package cn.itcast.p4.list.demo;
 2 
 3 import java.util.ArrayList;
 4 import java.util.Iterator;
 5 import java.util.List;
 6 import java.util.ListIterator;
 7 
 8 import com.sun.tools.sjavac.comp.dependencies.PublicApiCollector;
 9 
10 public class ListDemo2 {
11     public static void main(String[] args) {
12         List list = new ArrayList();
13 //        show(list);
14         
15         list.add("abc1");
16         list.add("abc2");
17         list.add("abc3");
18         
19         ListIterator it = list.listIterator();//获取列表迭代器对象
20         //它可以实现在迭代过程中完成对元素的增删改查。
21         //注意:只有list集合具备该迭代功能
22         
23         while (it.hasNext()) {
24             Object obj = it.next();
25             if (obj.equals("abc2")) {
26                 it.add("abc9");
27             }
28         }
29 //        System.out.println("next:"+it.hasNext());
30 //        System.out.println("hasPrevious:"+it.hasPrevious());
31         
32         while (it.hasPrevious()) {
33             System.out.println("previous:"+it.previous());//逆序遍历
34         }
35         System.out.println("list:"+list);
36         
37         /*
38          * Iterator it = list.iterator();//此时迭代器知道有三个元素 while (it.hasNext()) { Object
39          * obj = it.next();//java.util.ConcurrentModificationException
40          * //在迭代过程中,不要使用集合操作元素,容易操作异常,(并发修改)
41          * //可以使用Iterator接口的子接口ListIterator来完成迭代中对元素进行更多的操作 if (obj.equals("abc2")) {
42          * list.add("abc9");// }else { System.out.println("next:"+obj); }
43          * 
44          * } System.out.println(list);
45          */
46         
47         
48         
49         
50         
51     }
52 
53     private static void show(List list) {
54         // TODO Auto-generated method stub
55         list.add("abc1");
56         list.add("abc2");
57         list.add("abc3");
58         list.add("abc4");
59         
60         Iterator it = list.iterator();
61         while (it.hasNext()) {
62             System.out.println("next:"+it.next());
63         }
64         //list特有的取出元素方式之一,set不具备,set只有iterator
65         for (int i = 0; i < list.size(); i++) {
66             System.out.println("get:"+list.get(i));
67         }
68         
69         
70     }
71 }
View Code

 

posted @ 2021-10-19 22:05  doremi429  阅读(12)  评论(0编辑  收藏  举报