ArrayList查找和添加元素问题
2024-08-31 22:06:14
问题描述:
如上图所示,如果依靠迭代器在List中查找元素并添加元素,会报错:java.util.ConcurrentModificationException
原因是在添加元素后,List本身发生了变化,而迭代器是依赖集合的,这样就会使迭代器发生变化。
总结起来就是:在用迭代器进行遍历集合的时候,不能通过集合去修改元素
修改方法:
1、使用for循环
备注:这样还是有问题的,如果要添加的元素和要查找的元素相同,都是world,则一直会找到world元素,该方法会一直添加元素直到内存耗尽,
所以,推荐使用第二种方法(避免了这个问题),见下图
2、使用List特有迭代器ListIterator,用此迭代器去添加元素(元素添加在查找到的元素后边)
最新文章
- 51node1264(判断线段相交)
- USER STORIES AND USE CASES - DON’T USE BOTH
- CPU的内部架构和工作原理 (转,相当不错)
- JSONObject,JSONArray,Map,String之间转换
- oracle length and lengthb
- c#利用反射获取对象属性值
- JBoss CLI
- 【64测试20161112】【Catalan数】【数论】【扩展欧几里得】【逆】
- iOS-开发技巧-页面布局
- JavaScript之放大镜效果
- android开发之路07(无硝烟的战争)
- 数据库获取前N条记录SQL Server与SQLite的区别
- who am i
- (转)jquery的html,text,val
- 几年前无聊小游戏之作_WEB版本打泡泡
- 无限“递归”的python程序
- Why does eclipse automatically add appcompat v7 library support whenever I create a new project?
- MongoDB十二种最有效的模式设计【转】
- Elasticsearch -- 索引管理
- Confluence 6 缓存状态
热门文章
- LinuxC++开发记录(g++)
- CentOS6.x/6.5/6.4/6.3/6.2/7.x 64位安装php5.2(使用YUM自动安装)
- WAMP常用环境配置
- Linux文件目录常用命令
- 使用图数据库 Nebula Graph 数据导入快速体验知识图谱
- textarea高度自适应解决方法
- Python map filter reduce enumerate zip 的用法
- classification.py
- vue wangeditor3封装
- protobuf使用遇到的坑