我看书学习java集合时经常看到 iterator迭代器,可以通过它来遍历集合,删除元素,如果是有序集合List还可以添加元素。
以前学集合的时候只是简单的学了几个方法add set remove get等等。在做项目的时候也完全够用。这几个方法和迭代器的方法是不是重复了
那么,问题来了,什么时候需要用到迭代器?这个迭代器需要熟练掌握吗?
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

已采纳
java 集合什么情况需要用到迭代器
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
2条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
关注
不知道楼主是否看到阿里 Java 开发规范,里面就定义了迭代器的一种典型场景:
就是需要对集合遍历且遍历过程中需要修改集合内容时,就必须使用迭代器,而不能直接操作集合,否则会导致 ConcurrentModifiedException 。 迭代器没有这种限制
楼主说的没错,掌握基本用法就够了,常规的集合基本方法就够用了,对于这种边遍历边删除的场景用迭代器。
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 3无用举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2021-12-02 15:10回答 1 已采纳 对的,一般会定义成内部类,例如 AbstractList 中的内部类 Itr 实现了 Iterator 接口。 如有帮助,请采纳。
- 2015-11-23 05:30回答 4 已采纳 1 迭代器是遍历集合的一种方式,内存中就是普通变量啊。javap -c查看下字节码就知道了。 2 remove之后size大小是改变了的啊,元素减少了啊。 3 it.remove()方法申明返回的
- 2018-12-05 22:35回答 2 已采纳 老哥,我在机子上试了你的代码,你的代码不太对劲。 hasNext()和next()是一对,hasPrevious()和previous(),所以你逆向遍历时,取值应该用previous,正向遍历到最
- 2023-02-05 15:58Alita11101_的博客 迭代器
- 2022-03-30 01:38回答 6 已采纳 问题很好。 第一个问题,集合继承了迭代器接口,所以你在遍历的时候其实还是在使用迭代器,看图: 第二个问题,这个和继承知识点有关,object 类是所有类的祖先类,因为打印数组其实就是调用数组的 to
- 2023-04-23 07:24回答 1 已采纳 迭代过程中不可以修改长度
- 2020-01-12 01:26回答 1 已采纳 你这个两个输出的对象完全不一样啊,第一个输出集合的值,第二个数输出迭代器接口对象,不管你迭代多少次,都是同一个对象呀。
- 2024-07-18 05:04Reset‘的博客 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。也就是说,modCount记录修改此列表的次数:包括改变列表的结构,改变列表的大小,打乱列表的顺序等使...
- 2022-05-20 02:40回答 2 已采纳 一、递归 提到迭代,不得不提一个数学表达式: n!=n*(n-1)(n-2)...*1 有很多方法来计算阶乘。有一定数学基础的人都知道n!=n*(n-1)!因此,代码的实现可以直接写成:
- 2022-01-05 08:52回答 1 已采纳 if (iterator.next()> max) { max = iterator.next(); } 改为 if (next> max) { max = next; } i
- 2022-04-15 13:47回答 1 已采纳 我给你改了一下,主要问题出在 Vip vip = it.next();System.out.println(it.next());你连续调用两次next,相当于跳过了一个: import java.u
- 2022-07-05 17:07Java_OOAD的博客 java迭代器的实现原理以及常用方法 举例画图说明
- 2022-11-24 04:59Cyan_RA9的博客 java 集合讲解篇之 增强for和迭代器,内容分享!
- 2022-09-23 02:28此外,迭代器Iterator和foreach循环也是遍历List常用的方式。 在实际开发中,我们经常使用List来存储和管理对象。例如,在数据库操作中,可以将查询结果存储到List中;在处理用户输入时,可以将多个输入项保存为...
- 2022-11-21 12:18跃进坚持的道路的博客 Iterator对象称为迭代器 Java中用来遍历集合。
- 没有解决我的问题, 去提问
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司