ListIterator

    xiaoxiao2025-02-03  57

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

    最新回复(0)