问题描述:

如上图所示,如果依靠迭代器在List中查找元素并添加元素,会报错:java.util.ConcurrentModificationException
原因是在添加元素后,List本身发生了变化,而迭代器是依赖集合的,这样就会使迭代器发生变化。
总结起来就是:在用迭代器进行遍历集合的时候,不能通过集合去修改元素

修改方法:

1、使用for循环

备注:这样还是有问题的,如果要添加的元素和要查找的元素相同,都是world,则一直会找到world元素,该方法会一直添加元素直到内存耗尽,
所以,推荐使用第二种方法(避免了这个问题),见下图

2、使用List特有迭代器ListIterator,用此迭代器去添加元素(元素添加在查找到的元素后边)

最新文章

  1. 51node1264(判断线段相交)
  2. USER STORIES AND USE CASES - DON’T USE BOTH
  3. CPU的内部架构和工作原理 (转,相当不错)
  4. JSONObject,JSONArray,Map,String之间转换
  5. oracle length and lengthb
  6. c#利用反射获取对象属性值
  7. JBoss CLI
  8. 【64测试20161112】【Catalan数】【数论】【扩展欧几里得】【逆】
  9. iOS-开发技巧-页面布局
  10. JavaScript之放大镜效果
  11. android开发之路07(无硝烟的战争)
  12. 数据库获取前N条记录SQL Server与SQLite的区别
  13. who am i
  14. (转)jquery的html,text,val
  15. 几年前无聊小游戏之作_WEB版本打泡泡
  16. 无限“递归”的python程序
  17. Why does eclipse automatically add appcompat v7 library support whenever I create a new project?
  18. MongoDB十二种最有效的模式设计【转】
  19. Elasticsearch -- 索引管理
  20. Confluence 6 缓存状态

热门文章

  1. LinuxC++开发记录(g++)
  2. CentOS6.x/6.5/6.4/6.3/6.2/7.x 64位安装php5.2(使用YUM自动安装)
  3. WAMP常用环境配置
  4. Linux文件目录常用命令
  5. 使用图数据库 Nebula Graph 数据导入快速体验知识图谱
  6. textarea高度自适应解决方法
  7. Python map filter reduce enumerate zip 的用法
  8. classification.py
  9. vue wangeditor3封装
  10. protobuf使用遇到的坑