Java基础知识强化之集合框架笔记18:List集合特有的ListIterator迭代器

1. ListIterator(列表迭代器):

ListIterator listIterator():List集合特有的迭代器

 

2. 代码示例:

 1 package cn.itcast_04;
 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  *         ListIterator listIterator():List集合特有的迭代器
11  *         该迭代器继承了Iterator迭代器,所以,就可以直接使用hasNext()和next()方法。
12  * 
13  * 特有功能:
14  *         Object previous():获取上一个元素
15  *         boolean hasPrevious():判断是否有元素
16  * 
17  *         注意:ListIterator可以实现逆向遍历,但是必须先正向遍历,才能逆向遍历,所以一般无意义,不使用18  */
19 public class ListIteratorDemo {
20     public static void main(String[] args) {
21         // 创建List集合对象
22         List list = new ArrayList();
23         list.add("hello");
24         list.add("world");
25         list.add("java");
26 
27         // ListIterator listIterator()
28         ListIterator lit = list.listIterator(); // 子类对象
29         // while (lit.hasNext()) {
30         // String s = (String) lit.next();
31         // System.out.println(s);
32         // }
33         // System.out.println("-----------------");
34         
35         // System.out.println(lit.previous());
36         // System.out.println(lit.previous());
37         // System.out.println(lit.previous());
38         // NoSuchElementException
39         // System.out.println(lit.previous());
40 
41         while (lit.hasPrevious()) {//没有打印,刚开始(指针指向集合list首元素地址首元素前一个是没有的),所以没有打印出来东西
42             String s = (String) lit.previous();
43             System.out.println(s);
44         }
45         System.out.println("-----------------");
46 
47         // 迭代器
48         Iterator it = list.iterator();
49         while (it.hasNext()) {
50             String s = (String) it.next();
51             System.out.println(s);
52         }
53         System.out.println("-----------------");
54 
55     }
56 }

运行效果如下:

 

posted on 2015-10-02 11:06  鸿钧老祖  阅读(219)  评论(0编辑  收藏  举报

导航