`
schy_hqh
  • 浏览: 561828 次
  • 性别: 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);
	}
	

 

分享到:
评论

相关推荐

    java基础 集合-22-迭代器设计模式

    - 如果在迭代过程中添加或删除元素,建议使用`Iterator`的`remove()`方法,而不是集合的`add()`或`remove()`方法,以避免并发修改异常。 总结来说,Java中的迭代器设计模式是集合操作的重要组成部分,它允许程序员...

    java集合框架面试题

    - **优势**: 比`Enumeration`接口更安全,支持迭代过程中的元素移除操作。 #### 7. Iterator与Enumeration的区别 - **速度与内存**: `Enumeration`通常更快且占用较少内存。 - **安全性**: `Iterator`更安全,因为...

    02-Java集合容器面试题(2020最新版)-重点.pdf

    - **Iterator/foreach**:适用于所有集合类型,支持在遍历过程中删除元素。 - **最佳实践**:根据具体需求选择合适的方法,对于频繁的增删操作推荐使用`Iterator`。 #### 十六、ArrayList详解 - **优点**:查询速度...

    JSP应用开发-Java集合类-List接口.pptx

    * ListIterator listIterator():返回列表中元素的列表迭代器 * Object remove(int index):移除列表中指定位置的元素 * Object set(int index,Object element):用指定元素替换列表中指定位置的元素 ArrayList类是...

    集合框架面试题

    它是 Java 集合框架中的一种迭代器,用于遍历集合中的元素。 - **特性**: - `Iterator` 取代了早期的 `Enumeration`,提供了更安全、更灵活的遍历方式。 - 支持在遍历过程中移除元素。 #### 7. Enumeration 和 ...

    Android设计模式之--迭代器模式

    迭代器模式是软件设计模式中的一种行为模式,它在Android开发中被广泛应用,尤其是在处理集合对象的遍历操作时。这种模式提供了一种方法来顺序访问聚合对象的元素,而又不暴露其底层表示。在Java或Android编程中,...

    java集合.docx

    - 列表迭代器(ListIterator)遍历,允许在遍历过程中修改集合 2. **Set集合** - **特点**:Set是无序的,不允许元素重复,没有索引。 - **子类**:HashSet和TreeSet - **HashSet**:基于哈希表实现,元素无特定...

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

    `Iterator`是Java集合框架中用于遍历集合内容的接口,它可以顺序访问集合中的元素,但不支持反向遍历。在遍历过程中,如果集合本身被修改,可能会引发`ConcurrentModificationException`。 3. **ListIterator接口*...

    迭代器模式.rar之java设计模式

    `ListIterator`通常用于需要在迭代过程中修改列表的场景。 总结来说,迭代器模式在Java中扮演着重要的角色,它使得我们能够方便地遍历各种集合,而无需关注其内部实现细节。通过使用迭代器,我们可以轻松地实现迭代...

    java 迭代及迭代器的小例子

    在Java编程语言中,迭代是遍历集合对象(如数组、列表或集合)的重要机制,而迭代器(Iterator)则是实现这一机制的关键工具。这里,我们通过一个小例子来深入理解Java中的迭代和迭代器。 首先,我们需要了解什么是...

    JAVA中的集合和js中集合

    为了方便遍历集合中的元素,Java集合框架提供了迭代器接口`Iterator`,它定义了遍历集合的基本方法:`hasNext()`判断是否还有下一个元素;`next()`返回集合中的下一个元素;`remove()`移除当前的元素。此外,对于`...

    14.Python中的迭代器协议1

    在实践中,Python中的迭代器协议可以应用于各种场景,例如,遍历列表、字典、集合等数据结构,或者实现自定义的迭代器来满足特定的需求。 通过使用Python中的迭代器协议,可以方便地实现可迭代对象的迭代,并且可以...

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

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

    java中集合框架层次结构

    `Iterator`和`ListIterator`接口用于遍历集合中的元素,`Iterator`由`Collection`接口提供,而`ListIterator`由`List`接口提供。它们允许开发者在不暴露底层数据结构的情况下访问集合元素,增强了程序的安全性和灵活...

    集合排序搜索(英文版)

    - `ListIterator`:专用于`List`的迭代器,支持额外功能如修改集合等。 - `Enumeration`:遗留接口,主要用于`Vector`和`Hashtable`。 #### 三、为什么使用Java集合框架? 1. **避免重复造轮子**:利用现有的...

    Java集合面试问题

    - **Fail-safe**:某些集合如`ConcurrentHashMap`和`CopyOnWriteArrayList`提供了一种线程安全的遍历机制,即使遍历过程中集合被修改也不会抛出异常。 - 实现机制:通过创建集合的副本进行遍历,这样就不会受到集合...

    迭代器的用法

    在迭代器遍历过程中,对集合进行修改(如添加或删除元素)可能会影响迭代器的行为。例如,如果在调用`next()`之后调用`remove()`,则通常不会有问题。但是,在调用`hasNext()`或`next()`之前删除元素可能会导致...

    java基础之集合

    - **iterator()**:返回一个迭代器,可以用来遍历集合中的元素。 - **remove(Object o)**:从集合中删除指定的对象。 - **size()**:返回集合中元素的数量。 - **toArray()**:将集合转换为数组。 **注意**:`...

    java体系结构之迭代器模式.rar

    6. **Java集合框架中的迭代器**:除了基础的`Iterator`接口,Java还提供了`ListIterator`,它增加了`hasPrevious()`,`previous()`,`nextIndex()`和`previousIndex()`等方法,专为列表设计。 7. **迭代器模式与...

    Java集合面试问题和答案

    迭代器的核心在于它能够安全地遍历集合,并且允许在遍历过程中移除元素。如果提供直接获取下一个元素的方法,则可能破坏迭代器的内部状态,导致不稳定的行为。因此,通常的做法是在获取下一个元素的同时向前移动游标...

Global site tag (gtag.js) - Google Analytics