ListIterator

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判断有前一个元素.
所以先要正着遍历才可以反着遍历.
而反着遍历的在开发中根本没什么作用,了解即可.

你可能感兴趣的:(集合框架)