ListIterator可用于在LinkedList的正向和反向遍历元素。
如果在LinkedList中有更多元素同时向前移动时,ListIterator中的hasNext()方法返回true,否则返回false。方法next()返回LinkedList中的下一个元素并前进光标位置。
如果LinkedList中有更多元素同时沿相反方向遍历,则ListIterator中的hasPrevious()方法返回true,否则返回false。方法previous()返回LinkedList中的前一个元素,并向后减小光标位置。
演示该程序的程序如下。
import java.util.ListIterator; import java.util.LinkedList; public class Demo { public static void main(String[] args) { LinkedList<String> l = new LinkedList<String>(); l.add("Andy"); l.add("Sara"); l.add("James"); l.add("Betty"); l.add("Bruce"); ListIterator li = l.listIterator(); System.out.println("The LinkedList elements in the forward direction are: "); while (li.hasNext()) { System.out.println(li.next()); } System.out.println("\nThe LinkedList elements in the reverse direction are: "); while (li.hasPrevious()) { System.out.println(li.previous()); } } }
输出结果
上面程序的输出如下-
The LinkedList elements in the forward direction are: Andy Sara James Betty Bruce The LinkedList elements in the reverse direction are: Bruce Betty James Sara Andy
现在让我们了解上面的程序。
创建LinkedList,并使用LinkedList.add()将元素添加到LinkedList。演示这的代码片段如下
LinkedList<String> l = new LinkedList<String>(); l.add("Andy"); l.add("Sara"); l.add("James"); l.add("Betty"); l.add("Bruce");
然后,使用ListIterator接口以正向和反向显示LinkedList元素。演示这的代码片段如下
ListIterator li = l.listIterator(); System.out.println("The LinkedList elements in the forward direction are: "); while (li.hasNext()) { System.out.println(li.next()); } System.out.println("\nThe LinkedList elements in the reverse direction are: "); while (li.hasPrevious()) { System.out.println(li.previous()); }