Java Iterator(迭代器)
作者:@kuaiquxie
作者的github:https://github.com/bitebita
本文为作者原创,如需转载,请注明出处:https://www.cnblogs.com/dzwj/p/15434825.html
Java Iterator(迭代器)
如果需要使用iterator类需要从java.util包中引入它
Java Iterator不是一个集合,它是一种访问集合的方法,用于迭代ArrayList和HashSet等集合
迭代器it 的两个基本操作是next,hasNext和remove
调用it.next()会返回迭代器的下一个元素,并更新迭代器的状态
调用it.hasNext()用于检测集合中是否还有元素
调用it.remove()将迭代器返回的元素删除
集合获取一个迭代器用iterator()方法
package m; //引入 ArrayList 和 Iterator 类 import java.util.ArrayList; import java.util.Iterator; public class iterator { public static void main(String[] args) { // 创建集合 ArrayList<String> sites = new ArrayList<String>(); sites.add("1"); sites.add("2"); sites.add("3"); sites.add("4"); // 获取迭代器 Iterator<String> it = sites.iterator(); // 输出集合中的第一个元素 System.out.println(it.next()); } }
循环集合元素让迭代器it逐个返回集合中所有元素用while循环
package m; //引入 ArrayList 和 Iterator 类 import java.util.ArrayList; import java.util.Iterator; public class iterator { public static void main(String[] args) { // 创建集合 ArrayList<String> sites = new ArrayList<String>(); sites.add("1"); sites.add("2"); sites.add("3"); sites.add("4"); // 获取迭代器 Iterator<String> it = sites.iterator(); // 输出集合中的所有元素 while(it.hasNext()) { System.out.println(it.next()); } } }
如果要删除集合中的元素可以用remove()方法
package m; //引入 ArrayList 和 Iterator 类 import java.util.ArrayList; import java.util.Iterator; public class iterator { 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); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)