迭代器Iterator的使用方法(Java)

迭代器是一种经典的设计模式。 用于在不需要暴漏数据是如何保存在数据结构中的细节的情况下,遍历一个数据结构。
Collection接口继承自Iterable接口。所以说,实现了Collection接口的集合都可以使用迭代器来进行遍历

Iterable接口中的方法:

  • iterator():返回一个Iterator的实例
  • next():提供了对集合中元素的顺序访问
  • hasNext():检测迭代器中是否还有更多的元素
  • remove():移除迭代器返回的最后一个元素

下面给出了一个用迭代器遍历元素的示例:

package iterable;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.Locale;

public class TestIterator {
    public static void main(String[] args) {
        Collection collection = new ArrayList<>();
        collection.add("first");
        collection.add("second");
        collection.add("third");
        collection.add("fourth");
        Iterator iterator = collection.iterator();
        while(iterator.hasNext()){
            System.out.println(iterator.next().toUpperCase(Locale.ROOT)+ " ");
        }

    }
}

Original: https://www.cnblogs.com/classicltl/p/16598354.html
Author: classic123
Title: 迭代器Iterator的使用方法(Java)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/711437/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Ruby系列文章

    骏马金龙 (博客已搬家:www.junmajinlong.com) 网名骏马金龙,钟情于IT世界里的各种原理和实现机制,强迫症重症患者。爱研究、爱翻译、爱分享。特借此一亩三分田记录…

    技术杂谈 2023年5月31日
    0112
  • crash命令 —— mod

    参考:https://crash-utility.github.io/help_pages/mod.html 用法: 加载指定内核模块的符号 mod -s <模块名字>…

    技术杂谈 2023年5月30日
    0104
  • Docker存储卷

    Docker存储卷 1、COW机制 Docker镜像由多个只读层叠加而成,启动容器时,Docker会加载只读镜像层并在镜像栈顶部添加一个读写层。 如果运行中的容器修改了现有的一个已…

    技术杂谈 2023年6月21日
    079
  • 模拟栈和模拟队列

    栈是一种数据结构,先进后出,只支持一端进行插入和弹出操作,可以用数组进行模拟实现,现在编程语言中都进行了封装,可以直接调用 插入:插入时就是栈顶指针指向的内存区域存放当前要插入的元…

    技术杂谈 2023年6月21日
    095
  • 机器学习(5)特征值的处理总结和缺失值的处理

    数值型数据处理的方式:1,归一化 2,标准化 3,缺失值处理(pandas处理) 类别型数据:on-hot编码 时间类型数据:时间切分 posted @2018-11-19 16:…

    技术杂谈 2023年7月23日
    084
  • 网络设备配置-7、配置单臂路由实现跨vlan通信

    一、前言 同系列前几篇:网络设备配置–1、配置交换机enable、console、telnet密码网络设备配置–2、通过交换机划分vlan网络设备配置&#8…

    技术杂谈 2023年7月11日
    097
  • 浅析JS标识纯函数的作用及纯函数理解和为什么要构建纯函数

    PS:vue3 的源码里大量使用了纯函数注释,那么我们就来了解下:使用 /*#__PURE__*/ 可标注纯函数,那么纯函数是什么,有什么作用? 1、纯函数(pure functi…

    技术杂谈 2023年5月31日
    098
  • Centos7 安装 MPICH

    CentOS 7.9下安装mpich 下载源代码到当前目录 wget https://www.mpich.org/static/downloads/4.0.2/mpich-4.0….

    技术杂谈 2023年7月10日
    085
  • 深入理解完美哈希

    深入理解完美哈希 https://mp.weixin.qq.com/s/M8Wcj8sZ7UF1CMr887Puog 搜索 复制 Original: https://www.cnb…

    技术杂谈 2023年5月31日
    087
  • lightdb实例初始化

    `[lightdb@hs-10-20-30-199 ~]$ lt_initdb -p9876 -D lightdb22.1-dataThe files belonging to t…

    技术杂谈 2023年6月1日
    090
  • 区块链代币(Token)笔记 — — 术语

    接触区块链和数字货币差不多有大半年时间,一直在赶项目进度,现在有空整理补习一下相关的知识,只谈代币不谈区块链😂。 声明欢迎转载,但请保留文章原始出处:)博客园:http://www…

    技术杂谈 2023年5月31日
    094
  • 面试题汇总

    JAVA 基础 1.java 性能优化 ①尽量指定类、方法的final 修饰符 ②尽量重用对象 ③尽可能使用局部变量 ④及时关闭流 ⑤尽量减少对变量的重复计算 ⑥尽量采用懒加载的策…

    技术杂谈 2023年6月21日
    080
  • 一张图弄懂opengl的诸多库glgluglutfreeglutglewglfw之间关系

    开始学习opengl,但是看opengl编程指南不同版本之间使用了一堆不同的库,概念名称全都搅起的,越看越糊涂,遂整理的一下opengl相关的一些库的名词,才发现是不同时期不同版本…

    技术杂谈 2023年7月23日
    0107
  • linux多路转接epoll—服务器代码

    一、epoll多路转接简介 1、什么是多路转接:举个例子—如果有很多人要联系老板,需要先联系秘书,然后每隔一段时间,秘书就告知老板这段时间内有多少人联系了他,以及这些联…

    技术杂谈 2023年7月10日
    0104
  • github学生认证——申请学生开发包

    写在前面 申请学生认证的好处: GitHub学生的免费AWS Educate入门帐户,价值100美元。 专业的桌面IDE:IntelliJ IDEA,PyCharm等。学生的免费订…

    技术杂谈 2023年6月21日
    0117
  • [转帖]Apache Ignite(六):Ignite 的集群部署

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    技术杂谈 2023年5月30日
    085
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球