本章目标
掌握集合输出的标准操作
掌握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] * */ }
相关推荐
使用 Iterator 接口遍历集合元素 Java 集合框架中的 Iterator 接口是一种非常重要的接口,它主要用于遍历集合中的元素。Iterator 接口隐藏了各种 Collection 实现类的底层细节,向应用程序提供了遍历 Collection ...
Java Iterator接口实现代码解析 Java Iterator接口是Java集合框架中的一部分,它提供了对集合元素的遍历和操作功能。Iterator接口的主要方法包括hasNext()、next()和remove(),它们分别用于判断是否还有更多元素、...
Java Iterator接口和ListIterator接口分析 Java Iterator接口和ListIterator接口是Java集合框架中的两个重要接口,分别用于迭代集合中的元素和列表中的元素。在本文中,我们将详细介绍Java Iterator接口和...
本文实例讲述了ES6 Iterator接口和for…of循环用法。分享给大家供大家参考,具体如下: [removed] // 数组已经帮我们内置这个Iterator接口 let arr = ['hello','world']; let map = arr[Symbol.iterator](); // ...
"Java Iterator接口遍历单列集合迭代器原理详解" Java Iterator接口是Java集合框架中的一员,它主要用于遍历集合中的所有元素。 Iterator接口也是Java集合中的一员,但它与Collection、Map接口有所不同,Collection...
在Java中,Iterator接口提供了hasNext()和next()两个核心方法,前者用于检查是否还有更多的元素,后者则返回下一个元素。此外,Iterator还提供了remove()方法,用于从原始集合中移除当前元素。 模拟ArrayList的...
- **独立变化**:允许算法和容器独立变化,这意味着你可以编写一次算法,然后将其应用于任何遵循相同Iterator接口的容器。 - **隐藏内部结构**:Iterator模式隐藏了容器的内部结构,使用户能够专注于迭代本身,而...
### 二、Iterator接口的实现原理 #### 1. Iterator接口简介 `java.util.Iterator`接口定义了三个核心方法:`hasNext()`、`next()`和`remove()`。这些方法使得遍历集合成为可能,同时也隐藏了集合的具体实现细节。这...
所谓Iterator模式,即是...3.定义一个ArrayList,实现Collection接口,并写一个实现了Iterator接口的内部类。 4.编写测试程序TestMain 从以上可以看出,设计模式到处用到面向对象中的多态。接口调用子类中的函数
Iterator接口的主要方法 `Iterator`接口定义了以下几种主要方法: - **hasNext()**: 如果仍有元素可以迭代,则返回`true`。 - **next()**: 返回迭代的下一个元素。 - **remove()**: 可选操作,从产生此迭代器的集合...
在Java编程语言中,`Enumeration`接口和`Iterator`接口都是用于遍历集合对象的工具,但它们之间存在显著的差异。下面是关于这两个接口详细的区别分析: 1. **函数接口不同** `Enumeration`接口提供了两个方法: -...
在Java中,Iterator接口是实现此模式的主要工具,它允许我们遍历任何集合,如ArrayList、LinkedList等,而无需知道底层数据结构的细节。 在上述描述中,提到了如何使用Iterator模式来解决在JSOM、XML、Java bean等...
在ES6(ECMAScript 2015)中,`Iterator`接口和`for...of`循环是两种重要的语法特性,它们极大地提升了对数据结构的遍历能力。`Iterator`接口提供了一种统一的方式来遍历任何类型的集合,无论是数组、Map、Set,还是...
- **定义**:`Iterator` 提供了一个遍历集合元素的方式,它是 `Collection` 接口中 `iterator()` 方法的返回类型。 - **基本方法**: - `hasNext()`:判断是否有下一个元素。 - `next()`:返回集合中的下一个元素...
【第二十单元】主要探讨了JavaScript中的Iterator接口及其在处理不同数据结构时的应用。Iterator接口是一种通用的访问机制,使得Array、Object、Set、Map等数据结构能够通过相同的方式进行遍历操作,增强了代码的...
文章目录Iterator源码剖析(一)简介(二)源码分析 Iterator源码剖析 (一)简介 Iterabtor是从jdk1.2就存在的接口,称为外部迭代器。支持对容器中的元素进行遍历和移除,还支持流式遍历 外部迭代器的特点是:可拔...
4. **Iterator接口**: - **定义**:`Iterator`是Java集合框架的一部分,它提供了遍历集合元素的方法。 - **方法**: - `hasNext()`:判断是否还有下一个元素。 - `next()`:返回集合中的下一个元素。 - `...
在Java中,Iterator接口被定义在java.util包下,它是对集合进行迭代的标准方式。 ### Iterator的基本操作 #### 创建Iterator实例 在Java中,任何实现了Iterable接口的集合都可以通过调用`iterator()`方法来获取一...