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的时候最好不要删除数据
相关推荐
使用 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()`方法来获取一...