1、掌握ListIterator 与 Iterator 接口的关系及区别
2、掌握ListIterator 接口的使用限制
虽然此接口可以进行双向输出,但是遗憾的是 Collection 接口中并没有定义可以为此类实例化的操作,只有List 接口中才存在了ListIterator 接口的实例化操作。
范例:完成双向输出
import java.util.ArrayList ; import java.util.List ; import java.util.ListIterator ; public class ListIteratorDemo1{ public static void main(String argsp[]){ List<String> all = new ArrayList<String>() ; all.add("hello") ; all.add("_") ; all.add("world") ; ListIterator<String> iter = all.listIterator() ; System.out.print("由前向后输出:") ; while(iter.hasNext()){ String str = iter.next() ; System.out.print(str + "、") ; } System.out.print("\n由后向前输出:") ; while(iter.hasPrevious()){ String str = iter.previous() ; System.out.print(str + "、") ; } } }
输出结果:
由前向后输出:hello、_、world、 由后向前输出:world、_、hello、
此时,已经完成了双向的输出操作。但是,在使用此操作的时候一定要注意一点:一定要先进行由前向后输出,之后才能进行由后向前的输出。
例二:使用ListIterator 还可以进行增加及替换元素add()、set()
import java.util.ArrayList ; import java.util.List ; import java.util.ListIterator ; public class ListIteratorDemo02{ public static void main(String argsp[]){ List<String> all = new ArrayList<String>() ; all.add("hello") ; all.add("_") ; all.add("world") ; ListIterator<String> iter = all.listIterator() ; System.out.print("由前向后输出:") ; while(iter.hasNext()){ String str = iter.next() ; System.out.print(str + "、") ; iter.set("LI - " + str) ; // 修改内容 } System.out.print("\n由后向前输出:") ; iter.add("LXH"); while(iter.hasPrevious()){ String str = iter.previous() ; System.out.print(str + "、") ; } } };
输出结果:
由前向后输出:hello、_、world、 由后向前输出:LXH、LI - world、LI - _、LI - hello、
总结:
1、如果要想使用ListIterator 则只能依靠List 接口完成
2、如果要进行由后向前的输出,则只能先进行由前向后的输出
3、对于此接口中的增加及修改操作了解即可
相关推荐
Java Iterator接口和ListIterator接口分析 Java Iterator接口和ListIterator接口是Java集合框架中的两个重要接口,分别用于迭代集合中的元素和列表中的元素。在本文中,我们将详细介绍Java Iterator接口和...
Iterator接口和ListIterator接口的使用可以带来很多便利,例如,使用Iterator接口可以遍历集合中的元素,而不管集合的具体实现类型,同时也可以使用ListIterator接口来控制迭代器的行为,例如,添加或删除元素。...
Iterator接口用于访问集合中的元素,而ListIterator接口用于访问List集合中的元素。 Properties类是Java集合类中的一种特殊类,以键值对的形式存储数据,但只能存储字符串对。Properties类提供了两个方法:set...
List 接口提供了一个 listIterator() 方法,返回一个 ListIterator 接口,和标准的 Iterator 接口相比,ListIterator 多了一些 add() 之类的方法,允许添加、删除、设定元素,还能向前或向后遍历。 LinkedList、...
除了具有 Collection 接口必备的 iterator() 方法外,List 还提供一个 listIterator() 方法,返回一个 ListIterator 接口,和标准的 Iterator 接口相比,ListIterator 多了一些 add() 之类的方法,允许添加、删除、...
6. **ListIterator接口**:扩展了Iterator接口,支持双向遍历列表。 7. **Enumeration接口**:较旧的迭代接口,主要用于早期的集合类,如Vector和Hashtable。 8. **SortedSet和SortedMap接口**:提供了排序功能,...
例如,在 Personnel 类中,使用了 ArrayList 类来存储人员信息,并使用 ListIterator 接口来遍历人员列表。 知识点 5:Java 语言的异常处理 该实验报告没有涉及到异常处理的内容,但是在实际应用中,异常处理是...
除了具有Collection接口必备的iterator()方法外,List还提供一个listIterator()方法,返回一个ListIterator接口,和标准的Iterator接口相比,ListIterator多了一些add()之类的方法,允许添加,删除,设定元素,还能...
特有的ListIterator接口提供了双向遍历的能力。ArrayList是List接口的常用实现类,它基于动态扩展的数组实现,提供高效随机访问,但插入和删除元素相对耗时。 二、ArrayList类 ArrayList类是ArrayList接口的主要...
3. **ListIterator接口** `ListIterator`扩展了`Iterator`接口,专门用于遍历`List`类型的集合,支持双向遍历,可以向前和向后移动,并且能够修改集合中的元素,这在处理列表时非常有用。 4. **HashMap与HashTable...
【ListIterator接口】ListIterator是Iterator的子接口,专为List接口设计,除了提供基本的遍历功能外,还支持双向遍历和修改元素,包括添加元素和替换元素。 【HashMap与HashTable】HashMap是Java集合框架中实现Map...
第6章 数组与字符串 96 6.1 数组基础 96 6.2 一维数组与多维数组 96 6.2.1 一维数组 97 6.2.2 二维与多维数组 99 6.2.3 可变长度的参数列表 101 6.3 字符串类 102 ...10.6.4 ListIterator接口 213
除了具有Collection接口必备的iterator()方法外,List还提供一个listIterator()方法,返回一个ListIterator接口,和标准的Iterator接口相比,ListIterator多了一些add()之类的方法,允许添加、删除、设定元素,还能...
5. **ListIterator接口**:`ListIterator`是`Iterator`的子接口,专为`List`设计,增加了向前和向后遍历的能力,还有`add()`、`set()`和`previous()`等方法。 6. **并发修改异常**:在迭代过程中,如果通过集合对象...
- `ListIterator`接口继承自`Iterator`,主要用于遍历`List`集合。它不仅支持正向和反向遍历,还支持添加、替换、获取当前位置等功能。 #### 四、集合框架之外的 Map 接口 **1. Map 接口简介** - `Map`接口将键...
- **ListIterator接口**:专用于List的迭代,增加了`previous()`返回前一个元素和`hasPrevious()`检查是否有前一个元素的能力,还有`add(E e)`在当前位置插入元素。 - **SortedMap接口**:扩展了Map接口,保证了键...
此外,还有Iterator和ListIterator接口用于遍历集合,以及Queue和Deque接口用于队列和双端队列操作。 解析:理解Java集合框架能帮助开发者有效地管理数据结构,选择合适的容器以满足性能和功能需求。例如,List接口...
- **ListIterator接口**:除了基本的迭代功能外,还提供了添加、删除和替换元素的功能。 ##### 2.2 Java集合抽象 - **Collection接口**:定义了一个包含多个对象的容器的基本行为。 - **Set接口**:不允许重复元素...