Java Collection集合中的iterator方法
Iterator接口的概述
-
java.util.Iterator接口:选代器(对集合进行遍历)
-
有两个常用的方法
-
boolean hasNext()
如果仍有元素可以迭代,则返回true。
即判断集合中还有没有下ー个元素,有就返回true,没有就返回
-
E next()
返回送代的下一个元素。
即取出集合中的下一个元素
-
-
iterator迭代器,是一个接口,我们无法直接使用,需要使用Iterator接口的实现类对象。
-
获取实现类的方式比较特殊Collection接口中有一个方法,叫iterator(),这个方法返回的就是送代器的实现类对象
迭代器的使用步骤
- 使用集合中的方法 iterator()获取送代器的实现类对象,使用Iterator接口接收(多态)
- 使用Iterator接口中的方法hasNext来判断还有没有下一个元素
- 使用Iterator接口中的方法next来取出集合中的下一个元素
迭代器的简单使用
复制import java.util.ArrayList; import java.util.Iterator; import java.util.Collection; public class Demo01Iterator { public static void main(String[] args) { Collection <String> collection = new ArrayList<>(); collection.add("1号"); collection.add("2号"); collection.add("3号"); collection.add("4号"); collection.add("5号"); // 第一步:使用集合中的方法 iterator() 获取送代器的实现类对象 // 第二步:使用Iterator接口接收(多态) Iterator<String> stringIterator = collection.iterator(); // 第三步:使用Iterator接口中的方法hasNext来判断还有没有下一个元素 while (stringIterator.hasNext()) { // 第四步:使用Iterator接口中的方法next来取出集合中的下一个元素 System.out.println( stringIterator.next() ); } } }
复制输出结果: 1号 2号 3号 4号 5号
迭代器的使用原理
-
new一个集合出来
collection = new ArrayList<>() -
假设集合中添加有元素
collection = [一号元素, 二号元素, 三号元素, 四号元素, 五号元素] -
集合中的元素对应的索引
Index = [0, 1, 2, 3, 4] -
调用iterator方法
collection.iterator()
作用:获取迭代器的实现类对象井且会把指针(索引)指向集合的-1素引 -
代码说明:
复制
while (stringIterator.hasNext()) { stringIterator.next() } - 通过Iterator接口的hasNext()方法,判断集合是否还有没有下一个元素。
- 如果有下一个元素,那么就调用Iterator接口的next()方法,取出下一个元素,并且会把指针向后移一位。
-
就这样,从索引的 -1 位置的下一位索引,开始获取元素,直到获取完全。
本文来自博客园,作者:LeeHua,转载请注明原文链接:https://www.cnblogs.com/liyihua/p/12183013.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)