这一章节我们来简单讨论一下ListIterator。
ListIterator主要就是补充了Iterator只能向后的问题,在ListIterator里面可以向前移动。
package com.ray.ch09;
import java.util.ArrayList;
import java.util.ListIterator;
public class Test {
public static void main(String[] args) {
ArrayList<Integer> arrayList = new ArrayList<Integer>();
for (int i = 0; i < 10; i++) {
arrayList.add(i);
}
ListIterator<Integer> iterator = arrayList.listIterator();
while (iterator.hasNext()) {
Integer rtn = iterator.next();
System.out.print(rtn);
}
System.out.println();
while (iterator.hasPrevious()) {
Integer rtn = iterator.previous();
System.out.print(rtn);
}
}
}
输出:
0123456789
9876543210
注意:在使用iterator.previous()前必须检测iterator.hasPrevious()的真假,不然在第一个元素还没有压入迭代器的时候,会抛异常。
总结:这一章节简单讲述了ListIterator的双向迭代。
这一章节就到这里,谢谢。
-----------------------------------
目录
分享到:
相关推荐
在Java编程语言中,集合框架是处理对象数组的核心部分,而迭代器设计模式则是访问集合元素的主要机制。本文将深入探讨Java中的迭代器模式及其在集合框架中的应用。 迭代器模式是一种行为设计模式,它提供了一种方法...
与普通的`Iterator`相比,`ListIterator`支持双向遍历,即不仅可以向前迭代,也可以向后迭代。此外,`ListIterator`还提供了额外的方法,如`add()`,允许在迭代过程中向列表中添加新元素。 以下是一个使用`...
6. **Java集合框架中的迭代器**:除了基础的`Iterator`接口,Java还提供了`ListIterator`,它增加了`hasPrevious()`,`previous()`,`nextIndex()`和`previousIndex()`等方法,专为列表设计。 7. **迭代器模式与...
除了基本的迭代器,Java集合框架还提供了不同类型的迭代器,例如ListIterator,它专为列表设计,支持双向迭代和位置操作。ListIterator有`hasPrevious()`、`previous()`等方法,可以向前或向后遍历列表。 此外,...
java 1. 泛型 2. 队列 3. 栈 4. Iterator 和 ListIterator迭代器
迭代器是Java集合框架中非常重要的一个接口,它允许遍历集合中的元素。快速失败(Fail-Fast)迭代器机制是指在用迭代器遍历集合的过程中,如果检测到集合在迭代过程中被修改了,就会迅速抛出...
8. **集合框架**:Java集合框架提供了各种数据结构,如List(ArrayList, LinkedList)、Set(HashSet, TreeSet)和Map(HashMap, TreeMap)等,以及Iterator和ListIterator迭代器。 9. **输入输出(I/O)**:Java的...
特有的ListIterator接口提供了双向遍历的能力。ArrayList是List接口的常用实现类,它基于动态扩展的数组实现,提供高效随机访问,但插入和删除元素相对耗时。 二、ArrayList类 ArrayList类是ArrayList接口的主要...
Iterator 和 ListIterator 是 Java 中两个重要的迭代器接口,用于遍历集合中的元素。下面我们将详细介绍这两个接口的作用范围、关系、方法和使用实例。 Iterator 和 ListIterator 的作用范围和关系 Iterator 是一...
在Java编程中,`ListIterator`是`List`接口提供的一种特殊的迭代器,它具有双向遍历的能力,不仅可以向前遍历列表,还可以向后遍历。`ListIterator`还提供了在遍历过程中添加、修改和删除元素的功能,使得对列表的...
除了`Iterator`的方法,`ListIterator`还提供了`hasPrevious()`、`previous()`、`nextIndex()`和`previousIndex()`等方法,支持双向遍历,并能方便地插入元素。 7. **总结** `Iterator`是Java集合框架的核心,使得...
此外,Java还提供了一些特殊类型的迭代器,如`ListIterator`,它可以双向遍历列表,并提供了`add()`、`previous()`等额外的方法。`ListIterator`通常用于需要在迭代过程中修改列表的场景。 总结来说,迭代器模式在...
listIterator用于迭代下一个和上一个轨道 子类中用于实现父类方法的重写 Java内部类 Java抽象类不能用于创建对象的受限类 Java泛型在类型上增加了一层抽象,以减少错误 Java Access修饰符私有-仅在类内,默认-仅在包...
在Java或Android编程中,我们经常使用ArrayList、LinkedList等集合类,它们都提供了迭代器接口来实现这一模式。 在Android设计模式中,迭代器模式的主要作用是分离了聚合对象(如数组、列表)与遍历它的方法。这样...
在Java编程中,`ListIterator` 是一个比普通 `Iterator` 更加强大的迭代器,它专用于列表接口的实现类,如 `ArrayList`、`LinkedList` 等。`ListIterator` 提供了更多的操作方法,使得我们可以方便地在列表中进行前...
老版本Java中的枚举接口,用于遍历集合,与迭代器类似,但功能有限,已被迭代器取代。 6. 链表遍历(ListIterator): 对于List接口,可以使用ListIterator,它提供双向遍历,可以向前或向后移动,还有`add()`...
ListIterator和Iterator是JAVA集合中两个重要的迭代器,都是用于遍历集合中的元素的。但是它们之间存在着一些关键的区别。 首先,Iterator迭代器包含的方法有:hasNext()、next()、remove()。hasNext()方法用于判断...
首先,我们要知道迭代器有几种类型:输入迭代器、输出迭代器、前向迭代器、双向迭代器和随机访问迭代器。`std::list`的迭代器是双向迭代器,因为可以在链表中前后移动。双向迭代器支持`++it`(前移)和`--it`(后移...
### Java应用:两种Java容器类List和Set分析 #### 一、概述 在Java编程语言中,集合框架(Collections Framework)是处理数据的核心组件之一,它提供了存储和操作对象的各种方式。本文将深入探讨Java中的两种重要...
Listiterator迭代器的方向遍历,在反向遍历时 源码中 index中的初值需要在定义的时候传入size集合长度 或者通过正向遍历,将nextIndex的值变为集合的长度 然后public boolean hasPrevious() { return nextIndex > 0...