在使用增强for循环的时候对遍历的集合进下remove操作报错java.util.ConcurrentModificationException
报错:
解决办法:
先在for循环里面使用收集需要删除的元素,然后在集合外统一删
拓展:
为什么?
这是由于增强for循环底层调用的是迭代器的next和hasnext方法来遍历的,移除元素后,无法预知到元素的位置。这也是增强for的缺点,不能获取下标,不能动态删除集合中的内容。
那么用普通for循环取下标行不行?
不会报错了但是会发现没有删干净,原因是因为 这样会导致删除后索引改变,实际上少遍历了元素。
解决代码图:
在使用增强for循环的时候对遍历的集合进下remove操作报错java.util.ConcurrentModificationException相关推荐
- 循环的时候去删除集合中的元素 java.util.ConcurrentModificationException
使用for循环,删除集合中的元素,会报错 java.util.ConcurrentModificationException 只能通过迭代器 iterator删除 1:在while循环中使用itera ...
- java.util.ConcurrentModificationException: null异常由for增强循环嵌套增删引起。
问题: 在Java中对集合使用增强for循环时,一旦对集合进行增删操作,在遍历时会引起java.util.ConcurrentModificationException: null异常. 原因: 在官 ...
- 增强for循环、Map接口遍历、可变參数方法
增强for循环 1.for循环能做得事情.增强for循环大部分都能做(假设要想获得下标的时候就必须使用简单for循环了) 2.增强for有时候可以方便的处理集合遍历的问题,可是集合的标准遍历是使用迭代 ...
- Java基础知识 21(Set集合,HashSet集合以及它的三种遍历方式(迭代器,增强for循环,forEach),LinkedHashSet集合,TreeSet集合(自然排序法,比较器排序法))
Java基础知识 21 Set集合 Set集合:一个不包含重复元素的Collection集合,元素不重复,List集合是允许元素重复的. Set接口的三个字类:HashSet(),LinkedHash ...
- java 循环删除hashmap中的键值对,解决java.util.ConcurrentModificationException报错
示例 import java.util.HashMap; import java.util.Iterator; import java.util.Map;public class DeleteHash ...
- Java中的增强for循环的实现原理与坑
点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 在JAVA中,遍历集合和数组一般有以下三种形式: for (int i = 0; i < ...
- 增强for循环,Map,集合应用
3. 增强for循环 1) 作用: 对存储对象的容器进行迭代 2) jdk5以前怎么迭代 3) 增强for循环迭代数组 String [] arr = {"a", "b ...
- 01-java基础加强,eclipse工具使用,快捷键,断点调试,单元测试,jdk5新特性,增强for循环,集合map,list,可变参数,枚举,反射,泛型
一.eclipse工具的使用 1. java代码的位置 1) 选择工作空间 workspace 选择一个文件夹存放程序(代码) 不要用中文和空格 2) 新建一个java 工程(Project) 3) ...
- 大剑无锋之ArrayList中使用增强for循环能删除元素吗?【面试推荐】
好久没写java代码,前几天面试被问到不少java的问题,其中一个接下来要说的. 先看几段代码. 第一段(集合中两个元素,判断条件是第一个元素) ArrayList<String> lis ...
最新文章
- 实例分割最新最全面综述:从Mask R-CNN到BlendMask
- Cinder 的 I/O QoS
- JspServlet之Cookie
- 2018-2019-20172329 《Java软件结构与数据结构》第九周学习总结
- html排序按钮_插件分享 | 可进行排序扫描任务的Task Queue
- [Bootstrap]组件(三)
- 暴风集团否认暴风TV公司解散:融资事项正在加紧推进中
- Java导出源程序_JAVA导出项目的所有源代码到一个文件
- 蓝牙模块耳机做蓝牙透传_WiFi、蓝牙在工业领域的数据透传应用_SKYLAB 无线模块...
- sql server 2008如何导入mdf,ldf文件
- win8 查看和更换密钥方法
- [Elasticsearch] 多字段搜索 (五) - 以字段为中心的查询
- 浩辰cad2017破解版|浩辰电气cad2017无限使用破解版下载
- iOSUILable边距设置
- 3年开发了5个私人项目:自动化办公、网站、机器人、小程序...免费开源,拿走不谢~
- java pdf添加文字水印(非常专业)
- 学生成绩管理系统-C语言(附源码)
- 如何使用Photoshop 2021给图片制作出渐变效果?
- 微信小程序从零开始开发步骤(一)
- iOS NSPredicate 模糊、精确、查询