Java集合的ConcurrentModificationException
简单复习一下集合顺带提一下这个错误,其实也比较常见,大多是因为疏忽的原因吧;
我们创建一个集合,添加了一些元素,使用迭代器来遍历,然后遍历途中需要进行一些逻辑操作,对集合进行修改,然后就报错了,这是什么原因呢?
集合是集合,迭代器是迭代器,两个不是同一个东西,可以把迭代器理解为集合的一个快照或副本,当两者的内容不一致的时候,就抛出 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相关推荐
- 【集合】Java 集合的ConcurrentModificationException
文章目录 1.美图 2.概述 2.1 操作(这三种情况都会报错) 2.1.1 第1种错误情况 2.1.2 第2种错误情况 2.1.2 第3种错误情况 2.2.现象(错误信息) 3.原因 4.Array ...
- 【集合】JDK 7 HashMap集合的ConcurrentModificationException 原因
文章目录 1.概述 2. 解决 1.概述 首先参考文章:[集合]Java 集合的ConcurrentModificationException 下面再看一个案例 /*** 测试点:测试hashmap的 ...
- java.util.ConcurrentModificationException: null异常(已解决,原因出自于Java集合的快速失败机制)
问题来源 今天我在写项目时,对集合中的元素做了以下操作 报错信息如图 问题来源: 在Java中对集合进行遍历时,一旦对集合进行增删操作,在遍历时会引起java.util.ConcurrentModif ...
- java 头尾 队列_超详细的java集合讲解
1 集合 1.1 为什么会出现集合框架 [1] 之前的数组作为容器时,不能自动拓容 [2] 数值在进行添加和删除操作时,需要开发者自己实现添加和删除. 1.2 Collection接口 1.2.1 C ...
- java集合总结_Java中集合总结
Java数组的长度是固定的,为了使程序能够方便地存储和操作数目不固定的一组数据,JDK类库提供了Java集合,这些集合类都位于java.util包中,但是与数组不同的是,集合中不能存放基本类型数据,而 ...
- Java 集合系列02之 Collection架构
概要 首先,我们对Collection进行说明.下面先看看Collection的一些框架类的关系图: Java 集合系列02之 Collection架构 Collection是一个接口,它主要的两个分 ...
- java集合框架容器 java框架层级 继承图结构 集合框架的抽象类 集合框架主要实现类...
本文关键词: java集合框架 框架设计理念 容器 继承层级结构 继承图 集合框架中的抽象类 主要的实现类 实现类特性 集合框架分类 集合框架并发包 并发实现类 什么是容器? 由一个或多个确 ...
- Java 集合系列(四)—— ListIterator 源码分析
以脑图的形式来展示Java集合知识,让零碎知识点形成体系 Iterator 对比 Iterator(迭代器)是一种设计模式,是一个对象,用于遍历集合中的所有元素. Iterator 包含四个方 ...
- Java集合总结【面试题+脑图】,将知识点一网打尽!
前言 声明,本文用的是jdk1.8 花了一个星期,把Java容器核心的知识过了一遍,感觉集合已经无所畏惧了!!(哈哈哈....),现在来总结一下吧~~ 回顾目录: Collection总览 List集 ...
最新文章
- print (“{0:<10}{1:>5}“.format(word, count))
- 皮一皮:直男表示,有钱女人的世界完全不懂...
- 关于C++,Java和Python中的随机数生成法
- 附件 计算机 丢失,帮你找回Win7开始菜单附件丢失的工具
- linux下安装Adobe Reader(acroread)
- 微信用户昵称特殊符号处理
- 用Python下载巨潮资讯农业上市企业的年报PDF文件(二)
- deb软件包管理(二)
- 【概率论】泊松分布 Poisson Distribution
- 手机怎么用外嵌字幕_剪映教程大全:剪映加字幕、设置封面、变速等教程详解!...
- 【C语言小题】分数求和
- Chrome浏览器怎么调试网页标题字体大小和颜色?
- Win10系统中MySQL5.7的安装
- 软考系统架构师倒计时第6天
- android 字体大小换算,Android单位换算与UI适配
- 3GPP TS 23501-h20 中英文对照 | 5.29.2 5G VN group management
- c# socket套接字
- 大一新生千万要提前准备好好看的证件照啊
- 问渠哪得清如许,唯有源头活水来-浅谈android 系统
- Office2003/2007/2010/2013强力卸载工具下载
热门文章
- 基于FPGA----VGA显示跳动的小白框设计
- django mysql windows_Django+MySQL配置:Windows+Centos
- 里签名boot有什么用_为什么大家都用苹果企业签名呢?
- linux常用压缩/解压命令
- JSP基于JDBC操作MSSQL2008数据库
- web开发时浏览器兼容性问题汇总
- HiddenHttpMethodFilter过滤器—SpringMVC
- 原生html使用element组件,使用element-ui的table组件时,渲染为html格式
- 数据库身份证号用什么类型_互联网企业数据库安全的现状与对策
- 猿辅导 android平板,如何为孩子学习提速减压?荣耀平板7携手猿辅导打造优质网课学习体验...