使用 ListIterator 反向遍历 Java 中的 ArrayList
ListIterator 可用于遍历 List Collection 中正向和反向的元素。因此,ListIterator 仅适用于 LinkedList、ArrayList 等类。
ListIterator 中的 hasPrevious( ) 方法如果反向遍历时 List 中还有更多元素则返回 true,否则返回 false。previous( ) 方法返回 List 中的前一个元素并将光标位置向后减小。
以下给出一个对此进行演示的程序 -
示例
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()); }
广告