`
chaoyi
  • 浏览: 310977 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Iterator接口

 
阅读更多

本章目标
掌握集合输出的标准操作
掌握Iterator接口的主要作用及使用注意事项

 

集合的输出
在类集中提供了以下四种的常见输出方式:
——Iterator:迭代输出,是使用最多的输出方式;
——ListIterator:是Iterator的子接口,专门用于输出List中的内容;
——Enumeration:是一个旧的接口,功能与Iterator类似;
——foreach:JDK 1.5之后提供的新功能,可以输出数组或集合。

 

Iterator接口简介
集合输出的标准操作:
——“在使用集合输出的时候必须形成以下的一个思路:‘只要是碰到了集合输出的操作,就一定使用Iterator接口’,因为这是最标准的做法”
Iterator接口的操作原理:
——Iterator是专门的迭代输出接口,所谓的迭代输出就是将元素一个个进行判断,判断其是否有内容,如果有内容则把内容取出

 

Iterator接口中的常用方法

 

实例操作一:输出Collection中的全部内容

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class IteratorDemo01 {
	public static void main(String[] args) {
		List<String> all = new ArrayList<String>();//实例化 List 接口
		all.add("hello");//增加元素
		all.add("_");//增加元素
		all.add("world");//增加元素
		Iterator<String> iter = all.iterator();//直接实例化 Iterator 接口
		while(iter.hasNext()){//依次判断
			System.out.print(iter.next()+"、");//输出内容
		}
	}
/* 结果:
 * hello、_、world、
 * */
}

 

操作二:使用Iterator删除指定内容

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class IteratorDemo02 {
	public static void main(String[] args) {
		List<String> all = new ArrayList<String>();//实例化 List 接口
		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.print(str+"、");//输出元素内容
			}
		}
		//输出集合内容,调用 toString() 方法
		System.out.println("\n删除之后的集合:"+all);
	}
/* 结果:
 * hello、world、
 * 删除之后的集合:[hello, world]
 * */
}

 

迭代输出时删除元素的注意点
正常情况下,一个集合要把内容交给Iterator输出,但是集合操作中也存在一个remove()方法,如果在使用Iterator输出时,集合自己调用了删除方法,则会出现运行时的错误。

 

不正确的删除方法

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class IteratorDemo03 {
	public static void main(String[] args) {
		List<String> all = new ArrayList<String>();//实例化 List 接口
		all.add("hello");//增加元素
		all.add("_");//增加元素
		all.add("world");//增加元素
		Iterator<String> iter = all.iterator();//直接实例化 Iterator 接口
		while(iter.hasNext()){//依次判断
			String str = iter.next();//取得内容
			if("_".equals(str)){//判断内容是否是 "_"
				all.remove(str);//删除当前元素,使用集合删除
			}else{
				System.out.print(str+"、");//输出元素内容
			}
		}
		//输出集合内容,调用 toString() 方法
		System.out.println("\n删除之后的集合:"+all);
	}
/* 结果:
 * hello、
 * 删除之后的集合:[hello, world]
 * */
}

 

 

 

  • 大小: 39.6 KB
  • 大小: 15.9 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