迭代器(集合独有的遍历方式)
这里的java(迭代器)不是一个集合,它是访问集合的一个方法,可用于迭代ArrayList和HashSet等集合.
Iterator 是 java迭代器最简单的实现,Listlterator是Collection API 中的接口,它扩展了Iterator接口
修饰语和类型 | 方法 | 描述 |
boolean | hasNext() | 判断集合中还有没有可以被取出的元素,如果有返回true |
E | next() | 去除集合中的下一个元素 |
迭代器it的两个基本操作就是next()、hasNext()和remove()
调用 it.next() 会返回迭代器的下一个元素,并且更新迭代器的状态。
调用 it.hasNext() 用于检测集合中是否还有元素。
调用 it.remove() 将迭代器返回的元素删除。
Iterator 类位于 java.util 包中,使用前需要引入它,语法格式如下:
import java.util.Iterator;//引入Iterator类
使用迭代器的三种循环迭代方式:
第一种(while循环):
List<String> list = new ArrayList<>(); list.add("可可"); list.add("兮兮"); list.add("小婷"); Iterator<String> iterator = list.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); }
第二种 (for-each循环):
List<String> list = new ArrayList<>(); list.add("可可"); list.add("兮兮"); list.add("小婷"); for (String s : list) { System.out.println(s); }
第三种 (for循环):
List<String> list = new ArrayList<>(); list.add("可可"); list.add("兮兮"); list.add("小婷"); for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); }
这里需要注意,foreach也是增强的for循环,它无法访问数组下标值,对于集合的遍历其内部采用的也是Iterator的相关方法,如果只做简单遍历读取,可以减少一些代码量,其他情况下不建议使用。
需要读取集合中的元素,首用for-each循环,虽然它与其他两者的速度相比,差不了多少,但是从代码简介度来说,for-each首当其选
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了