社区
Java
帖子详情
迭代器为什么不能放在 List集合下面
weixin_44144792
2019-09-09 05:28:35
为什么你放在List集合下面就报并发修改错误
...全文
170
4
打赏
收藏
迭代器为什么不能放在 List集合下面
为什么你放在List集合下面就报并发修改错误
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
strong_mz
2019-09-11
打赏
举报
回复
在获取到iterator 对象后,iterator对象中会把当前List集合的长度存储下来,然后调用next方法的时候 会有个校验,校验存储的长度和集合现在的长度是否一致,若不一致就抛出这个异常
baichangda234
2019-09-11
打赏
举报
回复
在迭代过程中不能修改集合
weixin_44144792
2019-09-09
打赏
举报
回复
引用 1 楼 oh_Maxy 的回复:
发了两遍呐?
发多了一次删不了
oh_Maxy
版主
2019-09-09
打赏
举报
回复
发了两遍呐?
设计模式之美66-
迭代器
模式(中):遍历
集合
的同时,为什么
不能
增删
集合
元素?
上一节课中,我们通过给Array
List
、Linked
List
容器实现
迭代器
,学习了
迭代器
模式的原理、实现和设计意图。
迭代器
模式主要作用是解耦容器代码和遍历代码,这也印证了我们前面多次讲过的应用设计模式的主要目的是解耦。上一节课中讲解的内容都比较基础,今天,我们来深挖一下,如果在使用
迭代器
遍历
集合
的同时增加、删除
集合
中的元素,会发生什么情况?应该如何应对?如何在遍历的同时安全地删除
集合
元素?话不多说,让我们正式开始今天的内容吧!
List
之
迭代器
List
之
迭代器
迭代器
iterator遍历
集合
集合
分为
list
、set和map。
list
排列有序,可重复;set排列无序,不可重复;map键不可重复,值可重复,排列无序。 一般遍历用for循环,但是set和map无序,所以要用
迭代器
。
迭代器
是将数据
放在
一个容器中,并排成一排,
迭代器
有一个游标,再未遍历之前,这个游标
放在
第一位元素的前面,一般是
迭代器
iterator.hasNext判断游标后面是否有元素,iterator.next是将游标向后移一位。
list
集合
分为Array
List
、vector、Linked
List
Array
List
:排列有序,
集合
详解-
迭代器
遍历-增强for-
List
集合
-
List
五种遍历方式-Set
集合
-排序规则Comparable-双列
集合
Collection
集合
数组和
集合
的区别 相同点 都是容器,可以存储多个数据 不同点 数组的长度是不可变的,
集合
的长度是可变的 数组可以存基本数据类型和引用数据类型
集合
只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类
Java
集合
中的
迭代器
和列表
迭代器
迭代器
:
迭代器
是java中用来遍历
集合
的一种设计模式,并且需要依赖
集合
而存在 在Java中存在
迭代器
Iterator接口,由于
迭代器
是依赖于
集合
而存在的,所以我们创建
迭代器
的实例化对象就需要通过
集合
中的iterator()方法 //创建
集合
对象 Array
List
<String>
list
= new Array
List
<String>(); //添加元素
list
.add("hello");
list
.add("java");
list
.add("world
Java
51,397
社区成员
85,844
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章