ListIterator可用于在LinkedList的正向和反向遍历元素。如果LinkedList中有更多元素同时沿相反方向遍历,则ListIterator中的hasPrevious()方法返回true,否则返回false。方法previous()返回LinkedList中的前一个元素,并向后减小光标位置。
演示该程序的程序如下。
import java.util.LinkedList; import java.util.List; import java.util.ListIterator; public class Demo { public static void main(String[] args) { List l = new LinkedList(); l.add("John"); l.add("Sara"); l.add("Susan"); l.add("Betty"); l.add("Nathan"); ListIterator i = l.listIterator(l.size()); System.out.println("反向的 LinkedList 元素是: "); while (i.hasPrevious()) { System.out.println(i.previous()); } } }
输出结果
上面程序的输出如下
反向的 LinkedList 元素是: Nathan Betty Susan Sara John
现在让我们了解上面的程序。
创建LinkedList,并使用LinkedList.add()将元素添加到LinkedList。演示这的代码片段如下
List l = new LinkedList(); l.add("John"); l.add("Sara"); l.add("Susan"); l.add("Betty"); l.add("Nathan");
然后,使用ListIterator接口以相反的方向显示LinkedList元素。演示这的代码片段如下
ListIterator i = l.listIterator(l.size()); System.out.println("反向的 LinkedList 元素是: "); while (i.hasPrevious()) { System.out.println(i.previous()); }