Java ListIterator接口

Java ListIterator接口

原文: https://howtodoinjava.com/java/collections/java-listiterator/

Java ListIterator接口是双向迭代器,用于在向前向后的任一方向上对列表的元素进行迭代。

我们可以使用list.listIterator()方法调用来获取任何给定列表的列表迭代器的引用。 遵循给定的ListIterator语法。

ListIterator<T> listIterator = list.listIterator();

1. Java ListIterator特性

以下是 Java 中ListIterator提供的特性列表。

  1. 从 Java 1.2 开始,可以使用ListIterator
  2. ListIterator扩展了Iterator接口。
  3. ListIterator仅适用于List实现的类。
  4. Iterator不同,ListIterator支持在元素列表上的所有 CRUD 操作(创建,读取,更新和删除啊)。
  5. Iterator不同,ListIterator双向。 它支持正向和反向迭代。
  6. 它没有当前元素; 它的光标位置始终位于通过调用previous()返回的元素和通过调用next()返回的元素之间。

2. Java ListIterator示例

让我们从一个简单的ListIterator Java 示例开始,遍历ArrayList的元素。 请注意,数组索引以'0'开头。

ArrayList<String> list = new ArrayList<>();

list.add("A");
list.add("B");
list.add("C");
list.add("D");
list.add("E");
list.add("F");

ListIterator<String> listIterator = list.listIterator();

System.out.println("Forward iteration");

//Forward iterator
while(listIterator.hasNext()) {
    System.out.print(listIterator.next() + ",");
}

System.out.println("Backward iteration");

//Backward iterator
while(listIterator.hasPrevious()) {
    System.out.print(listIterator.previous() + ",");
}

System.out.println("Iteration from specified position");

//Start iterating from index 2
listIterator = list.listIterator(2);

while(listIterator.hasNext()) {
    System.out.print(listIterator.next() + ",");
}

程序输出。

Forward iteration
A,B,C,D,E,F,

Backward iteration
F,E,D,C,B,A,

Iteration from specified position
C,D,E,F,

3. Java ListIterator方法

  1. void add(Object o):将指定的元素插入列表(可选操作)。
  2. boolean hasNext():如果在向前遍历列表时此列表迭代器包含更多元素,则返回true
  3. boolean hasPrevious():如果在反向遍历列表时此列表迭代器包含更多元素,则返回true
  4. Object next():返回列表中的下一个元素并前进光标位置。
  5. int nextIndex():返回元素的索引,该元素的索引将由对next()的后续调用返回。
  6. Object previous():返回列表中的上一个元素,并将光标位置向后移动。
  7. int previousIndex():返回元素的索引,该元素的索引将由对next()的后续调用返回。
  8. void remove():从列表中移除next()previous()返回的最后一个元素(可选操作)。
  9. void set(Object o):将next()previous()返回的最后一个元素替换为指定的元素(可选操作)。

4。总结

在本教程中,我们学习了 Java ListIterator接口。 我们学习了ListIterator方法和简单示例,以向前和向后迭代列表元素。

将我的问题放在评论部分。

学习愉快!

参考文献:

ListIterator接口 Java 文档