ListIterator可用于在List集合中沿正向和反向遍历元素。因此ListIterator仅对诸如LinkedList,ArrayList等类有效。
如果在列表中有更多元素同时沿相反方向遍历,则ListIterator中的hasPrevious()方法返回true,否则返回false。方法previous()返回列表中的前一个元素,并向后减小光标位置。
演示此的程序如下所示-
import java.util.ArrayList; import java.util.ListIterator; public class Demo { public static void main(String[] args) { ArrayList<String> aList = new ArrayList<String>(); aList.add("Amanda"); aList.add("Peter"); aList.add("Julie"); aList.add("James"); aList.add("Emma"); ListIterator<String> li = aList.listIterator(); while (li.hasNext()) { li.next(); } System.out.println("The ArrayList elements in the reverse direction are: "); while (li.hasPrevious()) { System.out.println(li.previous()); } } }
输出结果
The ArrayList elements in the reverse direction are: Emma James Julie Peter Amanda
现在让我们了解上面的程序。
创建ArrayList,并使用ArrayList.add()将元素添加到ArrayList。演示这的代码片段如下-
ArrayList<String> aList = new ArrayList<String>(); aList.add("Amanda"); aList.add("Peter"); aList.add("Julie"); aList.add("James"); aList.add("Emma");
然后,使用ListIterator接口以相反的方向显示ArrayList元素。演示这的代码片段如下-
ListIterator<String> li = aList.listIterator(); while (li.hasNext()) { li.next(); } System.out.println("The ArrayList elements in the reverse direction are: "); while (li.hasPrevious()) { System.out.println(li.previous()); }