Java基础(二):迭代器(Iterator)(含使用方法详解)
Java Iterator(迭代器)
Java Iterator(迭代器)不是一个集合,它是一种用于访问集合的方法,可用于迭代 ArrayList 和 HashSet 等集合。
Iterator 是 Java 迭代器最简单的实现,ListIterator 是 Collection API 中的接口, 它扩展了 Iterator 接口。
迭代器 it 的两个基本操作是 next 、hasNext 和 remove。
调用 it.next() 会返回迭代器的下一个元素,并且更新迭代器的状态。
调用 it.hasNext() 用于检测集合中是否还有元素。
调用 it.remove() 将迭代器返回的元素删除。
Iterator 类位于 java.util 包中,使用前需要引入它,语法格式如下:
import java.util.Iterator; // 引入 Iterator 类
获取一个迭代器
集合想获取一个迭代器可以使用 iterator() 方法:
实例
// 引入 ArrayList 和 Iterator 类
import java.util.ArrayList;
import java.util.Iterator;public class RunoobTest {public static void main(String[] args) {// 创建集合ArrayList<String> sites = new ArrayList<String>();sites.add("Google");sites.add("Runoob");sites.add("Taobao");sites.add("Zhihu");// 获取迭代器Iterator<String> it = sites.iterator();// 输出集合中的第一个元素System.out.println(it.next());}
}
执行以上代码,输出结果如下:
Google
循环集合元素
让迭代器 it 逐个返回集合中所有元素最简单的方法是使用 while 循环:
while(it.hasNext()) {System.out.println(it.next());
}
以下输出集合 sites 中的所有元素:
实例
// 引入 ArrayList 和 Iterator 类
import java.util.ArrayList;
import java.util.Iterator;public class RunoobTest {public static void main(String[] args) {// 创建集合ArrayList<String> sites = new ArrayList<String>();sites.add("Google");sites.add("Runoob");sites.add("Taobao");sites.add("Zhihu");// 获取迭代器Iterator<String> it = sites.iterator();// 输出集合中的所有元素while(it.hasNext()) {System.out.println(it.next());}}
}
执行以上代码,输出结果如下:
Google
Runoob
Taobao
Zhihu
删除元素
要删除集合中的元素可以使用 remove() 方法。
以下实例我们删除集合中小于 10 的元素:
实例
// 引入 ArrayList 和 Iterator 类
import java.util.ArrayList;
import java.util.Iterator;public class RunoobTest {public static void main(String[] args) {ArrayList<Integer> numbers = new ArrayList<Integer>();numbers.add(12);numbers.add(8);numbers.add(2);numbers.add(23);Iterator<Integer> it = numbers.iterator();while(it.hasNext()) {Integer i = it.next();if(i < 10) { it.remove(); // 删除小于 10 的元素}}System.out.println(numbers);}
}
执行以上代码,输出结果如下:
[12, 23]it.remove(); // 删除小于 10 的元素}}System.out.println(numbers);}
}
执行以上代码,输出结果如下:
[12, 23]
Java基础(二):迭代器(Iterator)(含使用方法详解)相关推荐
- python的装饰器迭代器与生成器_python3 装饰器、列表生成器、迭代器、内置方法详解等(第四周)...
前言: 为什么要学习python3? 原因: 1.学习一门语言能力 2.通过该语言能力完成测试自动化以及独立完成自测框架知识 那么我要做什么呢? 1.每天花十个小时完成python3的学习 要在什么地 ...
- eclipse java 逆向工程_Mybatis 逆向工程的三种方法详解
Mybatis 逆向工程 逆向工程通常包括由数据库的表生成 Java 代码 和 通过 Java 代码生成数据库表.而Mybatis 逆向工程是指由数据库表生成 Java 代码. Mybaits 需要程 ...
- java kaptcha_java相关:kaptcha验证码使用方法详解
java相关:kaptcha验证码使用方法详解 发布于 2020-6-7| 复制链接 摘记: 本文为大家分享了kaptcha验证码的使用方法,供大家参考,具体内容如下1.首先在pom.xml文件中导入 ...
- Java SHA-256加密的两种实现方法详解
利用Apache的工具类实现加密,使用commons-codec包中的DigestUtils算法工具类(入参支持字符串.字节数组.文件流等): maven: 1 2 3 4 5 <depende ...
- JAVA 静态变量,静态方法,main方法详解(韩顺平)
目录 一.类变量 1.类变量的引入 2.类变量的定义 3.类变量的特点 4.如何定义类变量 5.如何访问类变量 6.类变量使用细节 二.类方法 1.基本介绍 2.定义类方法 3.类方法的访问 4.类方 ...
- 【Java 基础】JDK API Documentation 教程使用详解
文章目录 一.JDK API是什么 二.获取文档 三.文档查看教程 1.大纲 2.目录结构查看 3.包查看 4.类查看 5.详细使用信息 相关 一.JDK API是什么 API(Applicati ...
- Java基础篇:四种代码块详解
所谓代码块,就是用大括号{}将多行代码封装在一起,形成一个独立的数据体,用于实现特定的算法.一般来说,代码块是不能单独运行的,它必须有运行主体.在Java中代码块主要分为四种:普通代码块.静态代码块. ...
- android java 指针异常处理,Android自定义抛出异常的方法详解
前言 在android开发过程中,我们经常遇到异常的问题,崩溃抛出异常的时候,是非常令人烦闷的.但是异常有一个好处,使得app能在编译的时候给我们提供一些bug信息,有时可能比较模糊,有时可能很精准, ...
- Java 实现sha_Java实现SHA算法的方法详解
本文实例讲述了Java实现SHA算法的方法.分享给大家供大家参考,具体如下: 一 简介 安全散列算法 固定长度摘要信息 二 SHA算法 SHA-1.SHA-2(SHA-224.SHA-256.SHA3 ...
最新文章
- Nodejs服务器端脚本
- Centos 7 意外断电如何处理
- 基于Cobbler实现多版本系统批量部署
- MySQL删除匿名用户,保证登录安全
- NSArray 简单细说
- 计算机应用基础 聂敏,1. 在Excel中,公式“COUNT(C2:E3)”的含义是:( )。...
- 【Tiny4412】烧写Uboot到EMMC
- JavaWeb学习总结(二):Tomcat服务器学习和使用(一)
- 多线程—Lock、Condition、ReentrantLock、ReentrantReadWriteLock
- wcf学习(一):预览
- js经纬度十进制度和度分秒互转
- 文本框里面加删除按钮
- rocksdb-参数配置
- 电信各种视频免流卡申请地址合集附地址失效解决方法
- ‘海外/国外‘地区微博签到shu据(正题在第二部分)
- Vscode鼠标乱跳
- FastUnit超简单摘抄
- python解决百钱百鸡问题
- supermap开发帮助文档链接
- mac风扇一直响_您如何找出哪个计算机风扇被响了?
热门文章
- 2021~2022 学年第二学期《信息安全》考试试题(A 卷)
- 计算机二级C语言知识点大全,弄懂这些题集所含知识点稳过(三)
- 毕业快乐-纪念四年大学时光
- 使用MQ的时候,怎么确保消息100%不丢失?
- android调用系统图片剪裁,兼容小米
- lalaljhjje
- oracle 所有字母大写,Oracle函数(把每个单词首个字母变为大写)
- 升级到Win1018363.815后,魔兽争霸3不能玩了,提示 不能初始化DirectX 解决办法
- 加快推进工业互联网,图扑“智”绘发展新蓝图
- 罗马复兴各民族兵种详细参数——埃及篇