ListIterator
- boolean hasNext()是否有下一个
- boolean hasPrevious()是否有前一个
- Object next()返回下一个元素
- Object previous();返回上一个元素
package com.heima.list;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class Demo04_ListIterator {
public static void main(String[] args) {
List list = new ArrayList();
list.add("a"); //Object obj = new String();
list.add("b");
list.add("world");
list.add("c");
list.add("d");
list.add("e");
ListIterator lit = list.listIterator(); //获取迭代器
while(lit.hasPrevious()) {
System.out.println(lit.previous()); //获取元素并将指针向前移动
}
System.out.println("-----------------");
while(lit.hasNext()) {
System.out.println(lit.next()); //获取元素并将指针向后移动
}
}
}
如果先hasPrevious遍历的话是遍历不出来数据的.
因为此时cursor指向的是0. lit.hasPrevious()判断是否有前一个元素的话直接返回false.
如果先从前往后遍历,再从后面往前遍历的话那就是可以的.
因为每next一次,cursor在不断的++,然后判断是否有前一个元素,cursor不是0判断有前一个元素.
所以先要正着遍历才可以反着遍历.
而反着遍历的在开发中根本没什么作用,了解即可.