Java ListIterator 特性
- ListIterator 从 Java 1.2 开始可用。
- ListIterator 扩展了 Iterator 接口。
- ListIterator 仅适用于 List 实现的类。
- 与 Iterator 不同,ListIterator 支持对元素列表的所有 CRUD 操作(CREATE、READ、UPDATE 和 DELETE)。
- 与 Iterator 不同, ListIterator 是双向的。它支持前向和后向迭代。
- 它没有当前元素;它的光标位置始终位于调用 previous() 返回的元素和调用 next() 返回的元素之间。
欢迎 on
it
road
Java ListIterator 示例
迭代 ArrayList 的元素:
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"); // 前向迭代 while(listIterator.hasNext()) { System.out.print(listIterator.next() + ","); } System.out.println("Backward iteration"); // 后向迭代 while(listIterator.hasPrevious()) { System.out.print(listIterator.previous() + ","); } System.out.println("Iteration from specified position"); // 从索引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,
Java ListIterator 接口是双向迭代器,用于在上一个或者下一个方向上迭代列表的元素。
我们可以使用 list.listIterator() 方法调用获取对任何给定列表的列表迭代器的引用。
遵循给定的 ListIterator 语法。
ListIterator<T> listIterator = list.listIterator();
Java ListIterator 的方法
- void add(Object o) :将指定元素插入列表(可选操作)。
- boolean hasNext() :如果此列表迭代器在向前遍历列表时有更多元素,则返回
true
。 - boolean hasPrevious() :如果此列表迭代器在反向遍历列表时有更多元素,则返回
true
。 - Object next() :返回列表中的下一个元素并前进光标位置。
- int nextIndex() :返回后续调用 next() 将返回的元素的索引。
- Object previous() :返回列表中的前一个元素并将光标位置向后移动。
- int previousIndex() :返回元素的索引,该元素的索引将由对 previous() 的后续调用返回。
- void remove() :从列表中删除 next() 或者 previous() (可选操作)返回的最后一个元素。
- void set(Object o) :将 next() 或者 previous() 返回的最后一个元素替换为指定的元素(可选操作)。
日期:2020-09-17 00:09:48 来源:oir作者:oir