Java 集合 ListIterator

来源:这里教程网 时间:2026-02-17 20:13:39 作者:

在上一个教程中,我们讨论了 Java 中的迭代器,我们可以使用它来向前遍历List或Set。在这里,我们将讨论ListIterator,它允许我们在两个方向(向前和向后)遍历列表。

ListIterator示例

在这个例子中,我们在两个方向上遍历ArrayList 。

import java.util.ArrayList;import java.util.List;import java.util.ListIterator;public class ListIteratorExample {  public static void main(String a[]){    ListIterator<String> litr = null;    List<String> names = new ArrayList<String>();    names.add("Shyam");    names.add("Rajat");    names.add("Paul");    names.add("Tom");    names.add("Kate");    //Obtaining list iterator    litr=names.listIterator();    System.out.println("Traversing the list in forward direction:");    while(litr.hasNext()){       System.out.println(litr.next());    }    System.out.println("\nTraversing the list in backward direction:");    while(litr.hasPrevious()){       System.out.println(litr.previous());    }  }}

输出:

Traversing the list in forward direction:ShyamRajatPaulTomKateTraversing the list in backward direction:KateTomPaulRajatShyam

注意:我们可以使用Iterator遍历List和Set两者但是使用ListIterator我们只能遍历List。Iterator和ListIterator之间还有其他一些差异,我们将在下一篇文章中讨论它们。

ListIterator 的方法

1)void add(E e):将指定的元素插入列表(可选操作)。

2)boolean hasNext():如果此列表迭代器在向前遍历列表时具有更多元素,则返回true。

3)boolean hasPrevious():如果此列表迭代器在反向遍历列表时具有更多元素,则返回true。

4)E next():返回列表中的下一个元素并前进光标位置。

5)int nextIndex():返回后续调用next()返回的元素的索引。

6)E previous():返回列表中的上一个元素并向后移动光标位置。

7)int previousIndex():返回后续调用previous()返回的元素的索引。

8)void remove():从列表中删除next()或previous()返回的最后一个元素(可选操作)。

9)void set(E e):用指定的元素(可选操作)替换next()或previous()返回的最后一个元素。

相关推荐