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

Java迭代器注意事项

 
阅读更多

java迭代器是用来遍历集合的

Iterator迭代器:

1.它是一个接口,是不能实例化的。

只能接收集合类对象调用自己的iterator方法来生成的Iterator对象

2.迭代器Iterator有3个方法

booleanhasNext()如果仍有元素可以迭代(用来判断当前指针指向的下一位置是否还有元素),有返回true

E next() 返回迭代的下一个元素(指针指向下一位置,并返回指向的元素)

void remove()删除当前迭代的元素

3. 用来遍历集合时,需要hasNext()方法和next()方法配合使用

4.在遍历的过程中,不允许对集合进行增删操作。如果想要对集合进行删除操作,也必须调用迭代器的remove()方法



代码演示:

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class iterator {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		List list=new ArrayList();//创建一个线性表   这里运用多态
		list.add("one");
		list.add("#");
		list.add("two");
		list.add("#");
		list.add("three");
		list.add("#");
		
		Iterator it=list.iterator();//返回线性表的迭代器
		while(it.hasNext())   //遍历线性表 ,先检查是否还有元素可以迭代  
		{
			String element=(String) it.next();//取出迭代的元素
			if("#".equals(element))//如果元素=="#",则删除
			{
				it.remove();//true
				//<span style="color:#ff0000;">list.remove(element);//Error</span>
			}
			System.out.println(element);
		}
		System.out.println(list);
	}

}

结果

one
#
two
#
three
#
[one, two, three]

ListIterator迭代器:

ListIterator允许对于容器中的元素进行双向遍历,而Iterator是单向的。

它的方法有

hasPrevious()   hasNext()
previous()        next()
nextPrevious() nextIndex() 
remove()         add()
set()




分享到:
评论

相关推荐

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

    8. **迭代器的注意事项** - 调用`remove()`方法后,应立即检查`hasNext()`,因为可能会影响后续的迭代。 - 如果在迭代过程中添加或删除元素,建议使用`Iterator`的`remove()`方法,而不是集合的`add()`或`remove()...

    iterator-demo 迭代器设计模式demo

    5. **注意事项**: - 迭代器模式的实现需要注意线程安全问题,如果多个线程同时访问同一个迭代器,可能会导致数据不一致。 - 在使用迭代器时,若在遍历过程中修改了聚合对象,可能会影响迭代器的行为,可能导致`...

    【IT十八掌徐培成】Java基础第10天-04.List-迭代器-对象等价性.zip

    6. **注意事项**:在使用迭代器时,要特别注意不要同时使用迭代器和直接调用List的`add()`或`remove()`方法,因为这可能导致并发修改异常。如果需要在遍历过程中修改List,应始终通过迭代器的`remove()`方法进行操作...

    Java集合框架迭代器Iterator实现原理解析

    下面我们将详细介绍迭代器的实现原理、使用方法和注意事项。 一、什么是迭代器? Iterator是Java中的一个接口,核心作用就是用来遍历容器的元素。当容器实现了Iterator接口后,可以通过调用Iterator()方法获取一个...

    怎么将利用DWR调用JAVA类方法所返回的ArrayList数组   赋值给   logiciterate 迭代器

    ### 如何将通过DWR调用Java类方法返回的ArrayList赋值给逻辑迭代器 在Web开发中,经常需要从前端向后端发起请求并获取数据。Dynamic Web Remoting(DWR)是一种简化Ajax开发的技术,它使得JavaScript可以像调用本地...

    java技巧java中可以用来循环遍历任何一个集合的通用方法

    本文将详细介绍一种在Java中循环遍历任何一个集合的通用方法,并通过示例代码来具体说明其实现过程及注意事项。 #### 1. 集合遍历的重要性 集合框架是Java中非常基础且重要的组成部分之一,它提供了存储和管理对象...

    Java中增强for循环的实现原理和坑详解

    三、使用增强for循环的注意事项 在使用增强for循环时,需要注意以下几点: * 增强for循环只能用于遍历集合或数组,不可以用于遍历普通对象。 * 在遍历过程中,不能修改集合或数组的内容,以免引发...

    第二十讲:迭代模式

    描述中的链接指向了一个ITeye博客文章,虽然具体内容未给出,但可以推断这篇文章可能详细解释了迭代模式的原理,通过实例展示了如何在代码中使用迭代器模式,并可能讨论了一些最佳实践和注意事项。 标签“源码 工具...

    示例iterator使用及技巧

    #### 三、注意事项 - 在遍历过程中不要直接通过集合本身来修改元素,因为这可能会导致`ConcurrentModificationException`异常。 - 使用`Iterator`遍历集合时,应确保在调用`next()`方法之前调用`hasNext()`方法,以...

    Java Collection 移除元素方法及注意事项

    Java Collection 移除元素方法及注意事项 Java Collection 中的元素移除操作是 Java 编程人员每天都在重复的事情。本文主要介绍了 Java Collection 移除元素方法及注意事项,通过简单实例讲解了从 Java Collection ...

    Android 高效编程注意事项

    ### Android高效编程注意事项 在Android应用开发过程中,为了提高应用程序的性能和响应速度,开发者需要注意以下几点关于高效编程的关键知识点: #### 概述 对于资源受限的系统(如移动设备),有两个基本准则...

    Java基础教程之HashMap迭代删除使用方法

    在迭代删除中,我们需要注意一些重要的事项,例如迭代器的使用和元素的删除方式。同时,我们也需要注意HashMap的并发安全问题,以免出现意外的错误。 四、结论 本文对HashMap迭代删除的相关知识点进行了详细的讲解...

    java中List删除时需要的注意事项

    1. **避免在遍历过程中直接使用索引删除元素**:这可能导致迭代器的索引失效,错过某些元素。 2. **使用`Iterator`进行删除操作**:`Iterator`提供了安全的方法来遍历并删除元素,它会自动处理元素位置的变化。 3. *...

    java-遍历map

    ### 四、注意事项 - 在遍历`Map`时,如果在遍历过程中尝试修改`Map`(例如添加或删除元素),可能会引发`ConcurrentModificationException`异常。因此,在遍历的同时不要修改`Map`。 - 使用流API遍历时,虽然代码更...

    递归下降法实现语法分析器(java)

    这些方法接收一个输入符号流的迭代器作为参数,用于读取和消费输入符号。 - 方法内部通常包含if-else或switch-case结构,用于判断当前符号应匹配哪个文法规则分支。 - 当遇到终结符时,直接比较当前输入符号;对于...

    张龙JAVA圣思园笔记

    笔记中会涵盖Serializable接口,ObjectInputStream和ObjectOutputStream的使用,以及反序列化的注意事项。 4. **集合框架**: 集合框架是Java中处理数据集合的关键工具,包括List、Set、Map接口以及ArrayList、...

    java集合.docx

    **注意事项** 在使用集合时,确保了解所选集合类型的特点和适用场景,以及在遍历过程中对集合进行修改可能会导致的并发修改异常(CooncurrentModificationException)。如果在遍历过程中需要修改集合,推荐使用迭代器...

    effective-java 配套代码

    12. **迭代器与foreach循环(Iterators and For-Each Loops)**: 示例将展示如何使用迭代器遍历集合,以及Java 5引入的foreach循环的简洁性。 通过研究这些代码,你可以更深入地理解和应用《Effective Java》中的...

    java集合习题及答案

    - 使用迭代器`Iterator`遍历列表,这样可以在遍历时安全地删除元素。 - 如果当前元素等于要删除的目标字符串,则调用`iterator.remove()`移除它。 - 使用增强for循环打印修改后的列表。 **注意事项:** - 确保在...

Global site tag (gtag.js) - Google Analytics