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 }
运行效果如下: