简单复习一下集合顺带提一下这个错误,其实也比较常见,大多是因为疏忽的原因吧;

我们创建一个集合,添加了一些元素,使用迭代器来遍历,然后遍历途中需要进行一些逻辑操作,对集合进行修改,然后就报错了,这是什么原因呢?

集合是集合,迭代器是迭代器,两个不是同一个东西,可以把迭代器理解为集合的一个快照或副本,当两者的内容不一致的时候,就抛出   new ConcurrentModificationException();

源码中不难发现:

而上面那两个变量就是判断集合改变而定义的count

    public static void main(String[] args) {Collection list = new ArrayList<>();list.add("xiaowang");list.add("dawang");list.add("laowang");System.out.println(list.toString());Iterator iterator = list.iterator();while (iterator.hasNext()) {String s = (String) iterator.next();if (s.equals("xiaowang")) {list.add("gebilaowang");}}

转载于:https://www.cnblogs.com/pengx/p/10029586.html

Java集合的ConcurrentModificationException相关推荐

  1. 【集合】Java 集合的ConcurrentModificationException

    文章目录 1.美图 2.概述 2.1 操作(这三种情况都会报错) 2.1.1 第1种错误情况 2.1.2 第2种错误情况 2.1.2 第3种错误情况 2.2.现象(错误信息) 3.原因 4.Array ...

  2. 【集合】JDK 7 HashMap集合的ConcurrentModificationException 原因

    文章目录 1.概述 2. 解决 1.概述 首先参考文章:[集合]Java 集合的ConcurrentModificationException 下面再看一个案例 /*** 测试点:测试hashmap的 ...

  3. java.util.ConcurrentModificationException: null异常(已解决,原因出自于Java集合的快速失败机制)

    问题来源 今天我在写项目时,对集合中的元素做了以下操作 报错信息如图 问题来源: 在Java中对集合进行遍历时,一旦对集合进行增删操作,在遍历时会引起java.util.ConcurrentModif ...

  4. java 头尾 队列_超详细的java集合讲解

    1 集合 1.1 为什么会出现集合框架 [1] 之前的数组作为容器时,不能自动拓容 [2] 数值在进行添加和删除操作时,需要开发者自己实现添加和删除. 1.2 Collection接口 1.2.1 C ...

  5. java集合总结_Java中集合总结

    Java数组的长度是固定的,为了使程序能够方便地存储和操作数目不固定的一组数据,JDK类库提供了Java集合,这些集合类都位于java.util包中,但是与数组不同的是,集合中不能存放基本类型数据,而 ...

  6. Java 集合系列02之 Collection架构

    概要 首先,我们对Collection进行说明.下面先看看Collection的一些框架类的关系图: Java 集合系列02之 Collection架构 Collection是一个接口,它主要的两个分 ...

  7. java集合框架容器 java框架层级 继承图结构 集合框架的抽象类 集合框架主要实现类...

    本文关键词: java集合框架  框架设计理念  容器 继承层级结构 继承图 集合框架中的抽象类  主要的实现类 实现类特性   集合框架分类 集合框架并发包 并发实现类 什么是容器? 由一个或多个确 ...

  8. Java 集合系列(四)—— ListIterator 源码分析

    以脑图的形式来展示Java集合知识,让零碎知识点形成体系 Iterator 对比   Iterator(迭代器)是一种设计模式,是一个对象,用于遍历集合中的所有元素.   Iterator 包含四个方 ...

  9. Java集合总结【面试题+脑图】,将知识点一网打尽!

    前言 声明,本文用的是jdk1.8 花了一个星期,把Java容器核心的知识过了一遍,感觉集合已经无所畏惧了!!(哈哈哈....),现在来总结一下吧~~ 回顾目录: Collection总览 List集 ...

最新文章

  1. print (“{0:<10}{1:>5}“.format(word, count))
  2. 皮一皮:直男表示,有钱女人的世界完全不懂...
  3. 关于C++,Java和Python中的随机数生成法
  4. 附件 计算机 丢失,帮你找回Win7开始菜单附件丢失的工具
  5. linux下安装Adobe Reader(acroread)
  6. 微信用户昵称特殊符号处理
  7. 用Python下载巨潮资讯农业上市企业的年报PDF文件(二)
  8. deb软件包管理(二)
  9. 【概率论】泊松分布 Poisson Distribution
  10. 手机怎么用外嵌字幕_剪映教程大全:剪映加字幕、设置封面、变速等教程详解!...
  11. 【C语言小题】分数求和
  12. Chrome浏览器怎么调试网页标题字体大小和颜色?
  13. Win10系统中MySQL5.7的安装
  14. 软考系统架构师倒计时第6天
  15. android 字体大小换算,Android单位换算与UI适配
  16. 3GPP TS 23501-h20 中英文对照 | 5.29.2 5G VN group management
  17. c# socket套接字
  18. 大一新生千万要提前准备好好看的证件照啊
  19. 问渠哪得清如许,唯有源头活水来-浅谈android 系统
  20. Office2003/2007/2010/2013强力卸载工具下载

热门文章

  1. 基于FPGA----VGA显示跳动的小白框设计
  2. django mysql windows_Django+MySQL配置:Windows+Centos
  3. 里签名boot有什么用_为什么大家都用苹果企业签名呢?
  4. linux常用压缩/解压命令
  5. JSP基于JDBC操作MSSQL2008数据库
  6. web开发时浏览器兼容性问题汇总
  7. HiddenHttpMethodFilter过滤器—SpringMVC
  8. 原生html使用element组件,使用element-ui的table组件时,渲染为html格式
  9. 数据库身份证号用什么类型_互联网企业数据库安全的现状与对策
  10. 猿辅导 android平板,如何为孩子学习提速减压?荣耀平板7携手猿辅导打造优质网课学习体验...