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 ...
最新文章
- Crawler:反爬虫机制之基于urllib库+伪装浏览器+代理访问(代理地址随机选取)+实现下载某网址上所有的图片到指定文件夹
- Usermod 命令详解
- 计算凸多边形面积的算法
- java私有成员的访问_java – 使用私有成员或公共访问器的方法
- 计算机科学与技术做什么实验,计算机科学与技术专业实验教学大纲
- QueryDSL介绍
- 端口扫描工具是什么?端口扫描工具有什么用
- 小波变换matlab加密,混沌和小波变换的图像加密压缩算法
- python取出字典重复值_从字典中提取重复值
- win10系统安装到服务器失败怎么回事,小编教你win10安装失败怎么办
- 能给客户带来什么价值_您给公司带来什么价值?
- 计算机被填充背景花束纹理在那,为艺术字设置纹理填充的两种方法
- 同余原理与丢番图方程
- snpslmd: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No su
- 尚硅谷的Netty介绍(一)
- 给网页质量进行瘦身的办法-金瑞帆建站
- 拒绝调包 手写实现神经网络(复习专用)
- python求最小公倍数_Python实现的求解最小公倍数算法示例
- 查看java进程内存占用情况
- 熊猫烧香案主犯编出杀毒程序
热门文章
- 2023年最新QQ设置彩色昵称和动态头像
- pymongo 存取
- java项目 异常如何解决方案,java 项目
- 凌动智行(前网秦)关于媒体发布前创始人、董事会和管理层调整不实新闻的声明...
- 证件照像素大小怎么调?调整像素大小方法详解
- 蓝莓温室智能灌溉系统功能
- 【前端】Vue+Element UI案例:通用后台管理系统-登陆不同用户显示不同菜单、动态添加路由
- 威固打造变形金刚联名巡航标 为车主创造不凡品牌体验
- 海关总署:2018年中国进口增长12.9% 保持良好态势
- sprintf_s的用法探究