`

ListIterator接口

    博客分类:
  • JAVA
 
阅读更多

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、对于此接口中的增加及修改操作了解即可

  • 大小: 17.6 KB
分享到:
评论

相关推荐

    java Iterator接口和LIstIterator接口分析

    Java Iterator接口和ListIterator接口分析 Java Iterator接口和ListIterator接口是Java集合框架中的两个重要接口,分别用于迭代集合中的元素和列表中的元素。在本文中,我们将详细介绍Java Iterator接口和...

    Iterator接口

    Iterator接口和ListIterator接口的使用可以带来很多便利,例如,使用Iterator接口可以遍历集合中的元素,而不管集合的具体实现类型,同时也可以使用ListIterator接口来控制迭代器的行为,例如,添加或删除元素。...

    java常用集合类总结

    Iterator接口用于访问集合中的元素,而ListIterator接口用于访问List集合中的元素。 Properties类是Java集合类中的一种特殊类,以键值对的形式存储数据,但只能存储字符串对。Properties类提供了两个方法:set...

    ArrayList LinkedList Vector区别

    List 接口提供了一个 listIterator() 方法,返回一个 ListIterator 接口,和标准的 Iterator 接口相比,ListIterator 多了一些 add() 之类的方法,允许添加、删除、设定元素,还能向前或向后遍历。 LinkedList、...

    List,set,Map 的用法和区别

    除了具有 Collection 接口必备的 iterator() 方法外,List 还提供一个 listIterator() 方法,返回一个 ListIterator 接口,和标准的 Iterator 接口相比,ListIterator 多了一些 add() 之类的方法,允许添加、删除、...

    javase知识的回顾

    6. **ListIterator接口**:扩展了Iterator接口,支持双向遍历列表。 7. **Enumeration接口**:较旧的迭代接口,主要用于早期的集合类,如Vector和Hashtable。 8. **SortedSet和SortedMap接口**:提供了排序功能,...

    java学校人事管理系统实验报告1.docx

    例如,在 Personnel 类中,使用了 ArrayList 类来存储人员信息,并使用 ListIterator 接口来遍历人员列表。 知识点 5:Java 语言的异常处理 该实验报告没有涉及到异常处理的内容,但是在实际应用中,异常处理是...

    ArrayList LinkList和vector的区别

    除了具有Collection接口必备的iterator()方法外,List还提供一个listIterator()方法,返回一个ListIterator接口,和标准的Iterator接口相比,ListIterator多了一些add()之类的方法,允许添加,删除,设定元素,还能...

    Java-Java集合体系-List-Set

    特有的ListIterator接口提供了双向遍历的能力。ArrayList是List接口的常用实现类,它基于动态扩展的数组实现,提供高效随机访问,但插入和删除元素相对耗时。 二、ArrayList类 ArrayList类是ArrayList接口的主要...

    Java程序员集合框架面试题-java集合框架面试题.docx

    3. **ListIterator接口** `ListIterator`扩展了`Iterator`接口,专门用于遍历`List`类型的集合,支持双向遍历,可以向前和向后移动,并且能够修改集合中的元素,这在处理列表时非常有用。 4. **HashMap与HashTable...

    程序员面试宝典 java.pdf,这是一份不错的文件

    【ListIterator接口】ListIterator是Iterator的子接口,专为List接口设计,除了提供基本的遍历功能外,还支持双向遍历和修改元素,包括添加元素和替换元素。 【HashMap与HashTable】HashMap是Java集合框架中实现Map...

    《Java和Android开发实战详解》第6到10章源代码-by 南邮-陈杨

    第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

    Java语言的Util类详细介绍

    除了具有Collection接口必备的iterator()方法外,List还提供一个listIterator()方法,返回一个ListIterator接口,和标准的Iterator接口相比,ListIterator多了一些add()之类的方法,允许添加、删除、设定元素,还能...

    集合框架以及泛型的相关应用

    5. **ListIterator接口**:`ListIterator`是`Iterator`的子接口,专为`List`设计,增加了向前和向后遍历的能力,还有`add()`、`set()`和`previous()`等方法。 6. **并发修改异常**:在迭代过程中,如果通过集合对象...

    Java集合框架使用总结

    - `ListIterator`接口继承自`Iterator`,主要用于遍历`List`集合。它不仅支持正向和反向遍历,还支持添加、替换、获取当前位置等功能。 #### 四、集合框架之外的 Map 接口 **1. Map 接口简介** - `Map`接口将键...

    Java容器类学习心得.pdf

    - **ListIterator接口**:专用于List的迭代,增加了`previous()`返回前一个元素和`hasPrevious()`检查是否有前一个元素的能力,还有`add(E e)`在当前位置插入元素。 - **SortedMap接口**:扩展了Map接口,保证了键...

    互联网高频Java后端面试题20道(适合1~3年).docx

    此外,还有Iterator和ListIterator接口用于遍历集合,以及Queue和Deque接口用于队列和双端队列操作。 解析:理解Java集合框架能帮助开发者有效地管理数据结构,选择合适的容器以满足性能和功能需求。例如,List接口...

    data structure in Java

    - **ListIterator接口**:除了基本的迭代功能外,还提供了添加、删除和替换元素的功能。 ##### 2.2 Java集合抽象 - **Collection接口**:定义了一个包含多个对象的容器的基本行为。 - **Set接口**:不允许重复元素...

Global site tag (gtag.js) - Google Analytics