`
schy_hqh
  • 浏览: 541697 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

(集合)ListIterator---迭代过程中改变集合的内容

 
阅读更多

 

如果需要在遍历集合的过程中,动态改变集合中的元素,尤其是添加元素,必须使用ListIterator进行迭代。

普通的Iterator迭代器不能在迭代过程中,向集合加入元素,将发生异常。

 

public static void main(String[] args) {
		List<String> list = new ArrayList<String>();
		list.add("1");
		list.add("2");
		list.add("3");
		
		//如果需要在迭代过程中对集合进行Add操作,使用ListIterator,它只对List集合有效
		ListIterator<String> iter = list.listIterator();
		while(iter.hasNext()) {
			String s = iter.next();
			if(s.equals("1"))
				iter.remove();
			else if(s.equals("2"))
				iter.set("222");
			else 
				iter.add("000");
		}
		System.out.println(list);
	}
	

 

分享到:
评论

相关推荐

    关于List集合特有的迭代器的反向遍历

    Listiterator迭代器的方向遍历,在反向遍历时 源码中 index中的初值需要在定义的时候传入size集合长度 或者通过正向遍历,将nextIndex的值变为集合的长度 然后public boolean hasPrevious() { return nextIndex &gt; 0...

    [传智播客]Java基础视频教程之集合框架1【14节课】.txt

    该视频课件包括java基础集合框架之迭代器、List集合、ListIterator、Vector、ArrayList、LinkedList及HashSet等,详细课程内容如下&gt;&gt;

    Java集合面试题.docx

    集合框架中的泛型有什么优点? 3. Java 集合框架的基础接口有哪些? 4. 为何 Collection 不从 Cloneable 和 Serializable 接口继承? 5. 为何 Map 接口不继承 Collection 接口? 6. Iterator 是什么? 7. ...

    Java系列Iterator

    Java迭代器(Iterator)是 Java 集合框架中的一种机制,是一种用于遍历集合(如列表、集合和映射等)的接口。 它提供了一种统一的方式来访问集合中的元素,而不需要了解底层集合的具体实现细节。 Java Iterator...

    Java Iterator(迭代器)

    Iterator 是 Java 迭代器最简单的实现,ListIterator 是 Collection API 中的接口, 它扩展了 Iterator 接口。 迭代器 it 的两个基本操作是 next 、hasNext 和 remove。 调用 it.next() 会返回迭代器的下一个元素,...

    Java集合容器面试题(2020最新版)

    文章目录集合容器概述什么是集合集合的特点集合和数组的区别使用集合框架的好处常用的集合类有哪些?List,Set,Map三者的区别?List、Set、Map 是否继承自 Collection 接口?List、Map、Set 三个接口存取元素时,各...

    JAVA自学教程(史上最全).ppt

    用迭代器遍历集合的时候,用集合修改集合有没有问题?如果有,怎么解决?有问题,因为会出现并发修改异常。解决方法有多种,比如,我们可以不通过集合来修改集合,而使用迭代器来...像ListIterator迭代器就有添加方法。

    面试官都扯不过你系列之集合框架类总结

    什么是迭代器iterator和ListIterator的区别Collection和Collections的区别Comparable和Compartor接口是干什么,列出区别heap 和stack 有什么区别如何确保一个集合不会被修改CollectionListArray与ArrayList有什么...

    JAVA基础口述总结74条.txt

    48:用迭代器遍历集合的时候,用集合修改集合有没有问题?如果有,怎么解决?(*面试题) 有问题,因为会出现并发修改异常。 解决方法有多种,比如,我们可以不通过集合来修改...像ListIterator迭代器就有添加方法。

    Java双列集合HashMap

    双列集合HashMap是属于java集合框架3大类接口的Map类, Map接口储存一组成对的键-值对象,提供key(键)到value(值)的映射.Map中的key不要求有序,不允许重复.value同样不要求有序,但允许重复.  Iterator接口是...

    SkipList-JavaCollections:使用Java集合的“跳过列表”项目的源代码-Source code collection

    SkipList-JavaCollections 使用Java集合CS 5V81.001的“跳过列表”项目的源代码:数据结构和算法的实现项目1 Akshay Thakare(ast140230... ListIterator类,用于创建迭代列表的迭代器。 实现TreeSet的Tree类,用于

    ArrayList.java

    此类的返回的迭代器 iterator和listIterator方法是快速失败的 :如果列表在任何时间从结构上修改创建迭代器之后,以任何方式,除了通过迭代器自身的remove或add方法,迭代器都将抛出ConcurrentModificationException...

    Java 最常见的 208 道面试题:第二模块答案

    29. 在 Queue 中 poll()和 remove()有什么区别? 30. 哪些集合类是线程安全的? 31. 迭代器 Iterator 是什么? 32. Iterator 怎么使用?有什么特点? 33. Iterator 和 ListIterator 有什么区别?

    数据结构与算法分析-Java语言描述(第2版)_2_2

    remove方法对linkedlist类的使用 3.3.5 关于listiterator接口 3.4 arraylist类的实现 3.4.1 基本类 3.4.2 迭代器、java嵌套类和内部类 3.5 linkedlist类的实现 3.6 栈adt 3.6.1 栈模型 3.6.2 栈...

    数据结构与算法分析-Java语言描述(第2版)_1_2

    remove方法对linkedlist类的使用 3.3.5 关于listiterator接口 3.4 arraylist类的实现 3.4.1 基本类 3.4.2 迭代器、java嵌套类和内部类 3.5 linkedlist类的实现 3.6 栈adt 3.6.1 栈模型 3.6.2 栈...

    史上最全java面试,103项重点知识,带目录

    33. Iterator 和 ListIterator 有什么区别? 13 三、多线程 13 35. 并行和并发有什么区别? 13 36. 线程和进程的区别? 14 37. 守护线程是什么? 14 38. 创建线程有哪几种方式? 14 39. 说一下 runnable 和 callable...

    数据结构与算法分析 Java语言描述第2版

    表、栈和队列3.1 抽象数据类型3.2 表ADT3.2.1 表的简单数组实现3.2.2 简单链表3.3 JavaCollectionsAPI中的表3.3.1 Collection接口3.3.2 Iterator接口3.3.3 List接口、ArrayList类和LinkedList类3.3.4 例:remove...

    数据结构与算法分析_Java语言描述(第2版)

    4.8 标准库中的集合与映射 4.8.1 关于Set接口 4.8.2 关于Map接口 4.8.3 TreeSet类和TreeMap类的实现 4.8.4 使用多个映射的例 小结 练习 参考文献 第5章 散列 5.1 一般想法 5.2 散列函数 5.3 分离链接法 5.4 不用...

Global site tag (gtag.js) - Google Analytics