使用Java中的ListIterator遍历LinkedList的元素

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());
}