java中为基于数组实现的ADT线性表提供了ListIterator接口,首先ListIterator是内部类迭代器,其中ListIterator接口中定义了9个不同的方法,这9个不同的方法具体作用如下:
1 next():此方法先返回当前元素,然后让迭代前进一步,就是将currentIndex的值加一。
2 previous():此方法先将迭代后退一步,然后返回当前元素的前一个元素,注意与next()的区别,next()是返回当前元素后才加一。
3 hasNext():此方法是判断是否可以继续向后迭代。不要被名字蒙蔽了。名字有next,但是意思并不是。它是判断当前元素的索引是否小于等于ADT线性表的元素个数。也就是return currentIndex
4 hasPrevious():地方法是判断是否可以向前迭代。它判断当前元素的索引是否在1--length之间。
return (currentIndex>0)&&(currentIndex<=length).
5 nextIndex() :此方法中会调用hasNext()方法,如果hasNext()方法返回true,这说明currentIndex的值在在0--length-1之间。此时返回的是当前元素的索引,如果当前已经到了末尾,则返回ADT线性表的长度。注意不要被名字蒙蔽了。其实返回当前元素索引,不是下一个。
6 previousIndex():此方法中会调用hasPrevious()方法,如果hasPrevious()返回true,这说明currentIndex的值在1--length之间。此时返回当前元素的索引。如果已经到了线性表的开端,则返回-1;
7 add():此方法实际上是调用了线性表的add()方法。只不过在调用线性表的add()方法之前先将迭代向后一步。。
8 remove():此方法中调用线性表的remove()方法,如果调用之间调用了next()方法,那么移除当前元素,然后将currentIndex的值减一。这样currentIndex就是next()方法返回的值的索引。如果调用之间调用了previousf()方法,那么移除的是previous()方法返回的元素。注意:在调用remove()方法之间首先要调用next()或者previous()方法,并且没有调用过add()。因为remove方法移除的是next()或者是previous()方法返回的元素的下一个元素。如果调用add()会改变currentIndex的值。
9 set()此方法是用新的值去替换next()和previous()返回的元素。
分享到:
相关推荐
Java.util.ConcurrentModificationException 异常问题详解 ConcurrentModificationException 异常是 Java 中一个常见的异常,它发生在 Iterator 遍历集合时,集合同时被修改引起的异常。在 Java 中,集合类如 ...
Java.util包是Java标准库中的核心包之一,它包含了大量用于日常编程的工具类和接口。这个包在Java 2版本中得到了显著增强,引入了许多重要的数据结构和算法,为Java程序员提供了更丰富的功能。 首先,Java.util包中...
Java.util包是Java标准库中的核心包之一,它包含了大量用于处理各种数据结构和集合的类和接口。在这个包中,我们经常会用到`Iterator`和`List`接口,这两个接口在Java编程中扮演着非常重要的角色。 首先,`Iterator...
除了具有Collection接口必备的iterator()方法外,List还提供一个listIterator()方法,返回一个ListIterator接口,和标准的Iterator接口相比,ListIterator多了一些add()之类的方法,允许添加、删除、设定元素,还能...
11. **LinkedList的迭代器Iterator**:`java.util.Iterator`接口用于遍历集合,`ListIterator`是其子接口,提供了在列表中双向移动的能力。 12. **Optional**:Java 8引入的类,用于处理可能为空的对象,避免空指针...
在Java编程中,`ListIterator`是`List`接口提供的一种特殊的迭代器,它具有双向遍历的能力,不仅可以向前遍历列表,还可以向后遍历。`ListIterator`还提供了在遍历过程中添加、修改和删除元素的功能,使得对列表的...
在Java编程语言中,`java.util`包是核心库的一部分,包含了大量用于处理日常编程任务的类和接口。这个包提供了各种数据结构(如ArrayList、LinkedList、HashSet、HashMap)、集合框架、日期时间处理、随机数生成、IO...
集合框架还包括了`java.util.List`、`java.util.Set`和`java.util.Map`接口,它们分别代表有序元素集合、无序且不允许重复元素的集合以及键值对的映射关系。 List接口继承自Collection,它是一个有序的集合,元素...
在`java.util`包中,集合框架是Java API的核心部分,包括`List`(如`ArrayList`、`LinkedList`)、`Set`(如`HashSet`、`TreeSet`)、`Map`(如`HashMap`、`TreeMap`)等接口及其实现,以及`Iterator`和`...
集合框架还包括`Iterator`和`ListIterator`接口,以及`Comparator`和`Iterable`接口,用于遍历和比较元素。 3. **多线程**:在`java.lang`和`java.util.concurrent`包中,Java提供了对多线程的支持。`Thread`类代表...
Java Util 类库是Java开发中不可或缺的一部分,它包含了大量的实用工具类,可以帮助开发者处理各种常见的编程任务。在Java中,`java.util` 包是最基础也是最常用的工具类集合,而"Java常用Util类Jar"则是一个包含了...
3. **集合框架**:`java.util`包中的集合框架是Java编程的重要部分,包括`ArrayList`、`LinkedList`、`HashMap`等数据结构,以及`Iterator`和`ListIterator`用于遍历集合。 4. **多线程**:`java.lang.Thread`和`...
Iterator 和 ListIterator 是 Java 中两个重要的迭代器接口,用于遍历集合中的元素。下面我们将详细介绍这两个接口的作用范围、关系、方法和使用实例。 Iterator 和 ListIterator 的作用范围和关系 Iterator 是一...
2. **集合框架**:Java API的集合框架是编程中不可或缺的部分,它包括了`List`、`Set`、`Map`等接口及其实现类,如`ArrayList`、`HashSet`、`HashMap`等,以及`Iterator`和`ListIterator`接口用于遍历集合。...
**JDK 1.6 API中文版** 是Java开发者的重要参考资料,它包含了Java开发工具包1.6版本的所有公共类和接口的详细说明。API(Application Programming Interface)是一组预定义的函数、类、接口和枚举,允许开发者构建...
- **`java.util`包**:包含各种集合类,如`ArrayList`、`LinkedList`、`HashSet`、`HashMap`等,以及`Iterator`和`ListIterator`接口,用于遍历集合。 - **`java.util.concurrent`包**:提供并发控制和并行计算的...
Java核心API是Java编程语言的基础,它包含了大量预先定义好的类和接口,使得开发者能够方便地进行各种系统级任务,如文件操作、网络通信、数据处理等。在Java的生态系统中,核心API扮演着至关重要的角色,是学习和...
同时,引入了`ListIterator`接口和`NavigableSet`、`NavigableMap`等高级接口,增强了集合的操作和遍历能力。 3. **Swing组件**:在GUI编程中,`javax.swing`包提供了丰富的组件,如按钮(JButton)、文本框...