社区
Java SE
帖子详情
集合删除元素问题
chen58683632
2017-06-27 08:52:55
集合用迭代器遍历时,为什么用集合的remove方法会报错呢,解释下原理
...全文
356
3
打赏
收藏
集合删除元素问题
集合用迭代器遍历时,为什么用集合的remove方法会报错呢,解释下原理
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
一个新手来报道
2017-06-29
打赏
举报
回复
当你在Iterator中遍历删除元素时,需要在删除后,手动改变长度。不然会报错的,及length--
三个半西红柿
2017-06-29
打赏
举报
回复
引用 1 楼 soton_dolphin的回复:
你用集合里的remove方法,集合的元素就会变,迭代器检测到到这个意外的变化,就会报错咯
Iterator接口中是有remove方法的,可以在遍历时删除元素,只是没有add方法,不能直接给集合添加。
soton_dolphin
2017-06-27
打赏
举报
回复
你用集合里的remove方法,集合的元素就会变,迭代器检测到到这个意外的变化,就会报错咯
关于Java
集合
中元素的删除
问题
详解
博客主要讲述Java
集合
迭代过程中的元素删除
问题
。在
集合
迭代时,不允许
集合
结构改变,若直接用
集合
删除元素
,会使迭代器与
集合
不同步而报错。应使用迭代器的remove方法,它能同步删除
集合
和迭代器中的元素,
集合
结构改变时需重新获取迭代器。
[java]Set
集合
删除元素
失效
问题
本文探讨了一个在Java中使用Set
集合
时遇到的
问题
,即在添加元素后使用removeIf方法
删除元素
失效。
问题
源于元素的hashCode在添加和删除时不一致,导致删除操作无法正确找到元素。解决方案包括避免在add与remove之间修改元素的hashCode,或者重写equals和hashCode方法。
用for循环来删除ArrayList
集合
中的所有元素所遇到的
问题
本文讨论了在使用ArrayList
集合
时遇到的
问题
,即通过for循环
删除元素
时导致序号为偶数的元素未被删除的情况。文章提供了两种解决方案:使用while循环逐个
删除元素
和使用
集合
的removeAll()方法一次性删除所有元素。通过实例演示了解决过程,并验证了方法的有效性。
java
集合
循环中
删除元素
问题
以List
集合
为例
本文探讨了在Java
集合
中
删除元素
的最佳方法,强调使用迭代器进行删除操作的正确性和效率,同时指出处理并发
问题
的重要性。
Java 删除
集合
中的元素异常
问题
之ConcurrentModificationException
博客围绕Java
集合
遍历展开,指出在Java里直接在遍历
集合
时
删除元素
可能引发异常,原因包括内部状态不一致、迭代器失效和线程安全
问题
。同时介绍了几种安全
删除元素
的方法,如使用迭代器的remove方法、Java 8的removeIf方法等,推荐使用前两者。
Java SE
62,621
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章