Java-Collection集合的Iterator
Iterator接口的使用
Iterator接口的介绍
Iterator表示迭代器,迭代器是一种通用的遍历Collection集合的方式
Collection接口有一个来自父类接口Iterable接口的iterator()方法,该方法返回一个iterator对象,因此所有实现Collection的子类都使用Iterator对象来遍历集合的元素。
Iterator接口常用方法的使用
- hasNext() 集合中是否有下一个元素
- next() 取出集合中的下一个元素并返回
- remove(删除元素)
迭代器的常见问题
1、NoSuchElementException
当使用Iterator对象的next()方法获取集合中的元素,如果已经获取到最后一个元素,还要继续调用next()方法,此时就会产生NoSuchElementException异常,因为此时迭代器已经迭代到集合的最后一个元素。
2、ConcurrentModificationException
迭代器在迭代集合的元素时,不能使用Collection接口的方法来修改集合的元素(例如删除元素,添加元素),否则就会引发ConcurrentModificationException并发修改异常。如果一定要删除元素,只能使用Iterator对象的remove()方法
迭代器的内部原理
迭代器内部有个指针,首先需要调用hasNext()方法来判断集合中是否有元素,如果有元素,那么就调用next()方法获取对应的元素返回,直到获取到最后一个元素并返回。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下