`

Iterator接口

    博客分类:
  • JAVA
 
阅读更多

1、掌握集合输出的标准操作

2、掌握Iterator 接口的主要作用及使用注意事项

在集合的操作中支持以下几种方式:Iterator 、ListIterator、foreach 输出、Enumeration 输出



 

对于Iterator 而言,因为其本身是一个接口,所以要想实例化则必须依靠 Collection 接口完成。

Iterator<E> iterator()

 例一:

import java.util.List ;
import java.util.ArrayList ;
import java.util.Iterator ;
public class IteratorDemo1{
	public static void main(String args[]){
		List<String> all=  new ArrayList<String>() ;	// 
		all.add("hello") ;
		all.add("_") ;
		all.add("world") ;
		Iterator<String> iter = all.iterator() ;	// 为Iterator接口实例化
		while(iter.hasNext()){	// 判断是否有内容
			System.out.println(iter.next()) ;	// 输出内容
		}
	}
}

 输出结果:

hello
_
world

 以上的操作代码属于Iterator 的标准做法

 

例二:在Iterator 接口中提供了remove() 方法的功能是删除当前的对象。

import java.util.List ;
import java.util.ArrayList ;
import java.util.Iterator ;
public class IteratorDemo1{
	public static void main(String args[]){
		List<String> all=  new ArrayList<String>() ;	// 
		all.add("hello") ;
		all.add("_") ;
		all.add("world") ;
		Iterator<String> iter = all.iterator() ;	// 为Iterator接口实例化
		while(iter.hasNext()){	// 判断是否有内容
			String str = iter.next() ;
			if("_".equals(str)){
				iter.remove() ;	// 删除元素		
			}else{
				System.out.println(str) ;	// 输出内容
			}
		}
		System.out.println("删除之后的集合:" + all) ;
	}
}

 输出结果:

hello
world
删除之后的集合:[hello, world]

 在实际中Iterator 是很少调用删除操作的,因为其本身的功能就是输出内容。当然,对于删除操作也有以下的一个注意点:List 接口本身存在删除方法:remove,如果在使用迭代输出的过程中使用了List 中的 remove() 执行删除操作,则代码将出现问题。

 

这边有几个注意点:

1.调用next()方法后才可以调用remove()方法,而且每次调用next()后最多只能调用一次remove()方法,否则抛出IllegalStateException异常.

2.在实例中Iterator是很少调用删除操作的,因为其本身的功能就是输出集合中的内容。在List,Set,Map接口中,它们本身都有remove();方法,但是如果在使用迭代输出的过程中使用了List,Set,Map接口中的remove()执行删除操作,则代码将出现问题 。所以在使用Iterator输出时,不要使用集合类中的remove()方法,而只能使用Iterator接口中的remove方法

3. Iterator接口的功能是从向前后输出,属于单向的输出, Iterator的主要功能就是完成迭代输出操作的,在使用Iterator的时候最好不要删除数据

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

相关推荐

    使用Iterator接口遍历集合元素

    使用 Iterator 接口遍历集合元素 Java 集合框架中的 Iterator 接口是一种非常重要的接口,它主要用于遍历集合中的元素。Iterator 接口隐藏了各种 Collection 实现类的底层细节,向应用程序提供了遍历 Collection ...

    Java Iterator接口实现代码解析

    Java Iterator接口实现代码解析 Java Iterator接口是Java集合框架中的一部分,它提供了对集合元素的遍历和操作功能。Iterator接口的主要方法包括hasNext()、next()和remove(),它们分别用于判断是否还有更多元素、...

    java Iterator接口和LIstIterator接口分析

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

    ES6 Iterator接口和for…of循环用法分析

    本文实例讲述了ES6 Iterator接口和for…of循环用法。分享给大家供大家参考,具体如下: [removed] // 数组已经帮我们内置这个Iterator接口 let arr = ['hello','world']; let map = arr[Symbol.iterator](); // ...

    Java Iterator接口遍历单列集合迭代器原理详解

    "Java Iterator接口遍历单列集合迭代器原理详解" Java Iterator接口是Java集合框架中的一员,它主要用于遍历集合中的所有元素。 Iterator接口也是Java集合中的一员,但它与Collection、Map接口有所不同,Collection...

    模拟java ArrayList Iterator

    在Java中,Iterator接口提供了hasNext()和next()两个核心方法,前者用于检查是否还有更多的元素,后者则返回下一个元素。此外,Iterator还提供了remove()方法,用于从原始集合中移除当前元素。 模拟ArrayList的...

    Iterator用法

    - **独立变化**:允许算法和容器独立变化,这意味着你可以编写一次算法,然后将其应用于任何遵循相同Iterator接口的容器。 - **隐藏内部结构**:Iterator模式隐藏了容器的内部结构,使用户能够专注于迭代本身,而...

    java-util-iterator.pdf java-util-iterator.pdf

    ### 二、Iterator接口的实现原理 #### 1. Iterator接口简介 `java.util.Iterator`接口定义了三个核心方法:`hasNext()`、`next()`和`remove()`。这些方法使得遍历集合成为可能,同时也隐藏了集合的具体实现细节。这...

    Java设计模式之Iterator模式

    所谓Iterator模式,即是...3.定义一个ArrayList,实现Collection接口,并写一个实现了Iterator接口的内部类。 4.编写测试程序TestMain 从以上可以看出,设计模式到处用到面向对象中的多态。接口调用子类中的函数

    Map、Set、Iterator迭代详解

    Iterator接口的主要方法 `Iterator`接口定义了以下几种主要方法: - **hasNext()**: 如果仍有元素可以迭代,则返回`true`。 - **next()**: 返回迭代的下一个元素。 - **remove()**: 可选操作,从产生此迭代器的集合...

    详谈Enumeration接口和Iterator接口的区别

    在Java编程语言中,`Enumeration`接口和`Iterator`接口都是用于遍历集合对象的工具,但它们之间存在显著的差异。下面是关于这两个接口详细的区别分析: 1. **函数接口不同** `Enumeration`接口提供了两个方法: -...

    使用Iterator模式将对象转成String.docx

    在Java中,Iterator接口是实现此模式的主要工具,它允许我们遍历任何集合,如ArrayList、LinkedList等,而无需知道底层数据结构的细节。 在上述描述中,提到了如何使用Iterator模式来解决在JSOM、XML、Java bean等...

    ES6 Iterator接口和for...of循环用法分析

    在ES6(ECMAScript 2015)中,`Iterator`接口和`for...of`循环是两种重要的语法特性,它们极大地提升了对数据结构的遍历能力。`Iterator`接口提供了一种统一的方式来遍历任何类型的集合,无论是数组、Map、Set,还是...

    Collection、Map、List、Set、Iterator

    - **定义**:`Iterator` 提供了一个遍历集合元素的方式,它是 `Collection` 接口中 `iterator()` 方法的返回类型。 - **基本方法**: - `hasNext()`:判断是否有下一个元素。 - `next()`:返回集合中的下一个元素...

    第二十单元.pptx_电子版_pptx版

    【第二十单元】主要探讨了JavaScript中的Iterator接口及其在处理不同数据结构时的应用。Iterator接口是一种通用的访问机制,使得Array、Object、Set、Map等数据结构能够通过相同的方式进行遍历操作,增强了代码的...

    【JDK1.8源码剖析】外部迭代器Iterator接口

    文章目录Iterator源码剖析(一)简介(二)源码分析 Iterator源码剖析 (一)简介 Iterabtor是从jdk1.2就存在的接口,称为外部迭代器。支持对容器中的元素进行遍历和移除,还支持流式遍历 外部迭代器的特点是:可拔...

    iterator 遍历循环代码

    4. **Iterator接口**: - **定义**:`Iterator`是Java集合框架的一部分,它提供了遍历集合元素的方法。 - **方法**: - `hasNext()`:判断是否还有下一个元素。 - `next()`:返回集合中的下一个元素。 - `...

    Java学习之Iterator(迭代器)的一般用法

    在Java中,Iterator接口被定义在java.util包下,它是对集合进行迭代的标准方式。 ### Iterator的基本操作 #### 创建Iterator实例 在Java中,任何实现了Iterable接口的集合都可以通过调用`iterator()`方法来获取一...

Global site tag (gtag.js) - Google Analytics