使用Java中的ListIterator以相反的方向遍历LinkedList

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