java迭代器 异常_java-迭代器并发修改异常
A:迭代器的并发修改异常
/*
* 迭代器的并发修改异常 java.util.ConcurrentModificationException
* 就是在遍历的过程中,使用了集合方法修改了集合的长度,不允许的
*/
public class ListDemo1 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("abc1");
list.add("abc2");
list.add("abc3");
list.add("abc4");
//对集合使用迭代器进行获取,获取时候判断集合中是否存在 "abc3"对象
//如果有,添加一个元素 "ABC3"
Iterator it = list.iterator();
while(it.hasNext()){
String s = it.next();
//对获取出的元素s,进行判断,是不是有"abc3"
if(s.equals("abc3")){
list.add("ABC3");
}
System.out.println(s);
}
}
}
运行上述代码发生了错误 java.util.ConcurrentModificationException这是什么原因呢?
在迭代过程中,使用了集合的方法对元素进行操作。
导致迭代器并不知道集合中的变化,容易引发数据的不确定性。
并发修改异常解决办法:
在迭代时,不要使用集合的方法操作元素。
或者通过ListIterator迭代器操作元素是可以的,ListIterator的出现,解决了使用Iterator迭代过程中可能会发生的错误情况。
java迭代器 异常_java-迭代器并发修改异常相关推荐
- Java中遍历集合的并发修改异常解决方案
遍历集合的删除元素的问题 问题引出: 当我们遍历集合从中找出某一批元素并删除的时候, 可能出现一种并发修改异常问题. 哪些变量会存在这个问题? 迭代器遍历集合且直接用集合删除元素的时候可能出现, 例如 ...
- java迭代器删除元素出异常_java迭代器移除元素出现并发修改异常的原因及解决...
迭代器(Iterator的对象)主要用于遍历集合,体现的就是迭代器模式. Iterator接口定义了以下四种方法. boolean hasNext():如果集合还没遍历完就返回true. Object ...
- php 迭代器迭代中文时重复,3种方式解决iterator迭代器并发修改异常
3种方式解决iterator迭代器并发修改异常ConcurrentModificationException 在使用迭代器的时候,时长会遇到 ConcurrentModificationExcepti ...
- 理解和解决Java并发修改异常ConcurrentModificationException(转载)
原文地址:https://www.jianshu.com/p/f3f6b12330c1 理解和解决Java并发修改异常ConcurrentModificationException 不知读者在Java ...
- java 并发修改_理解和解决Java并发修改异常ConcurrentModificationException
your name.jpg 关键字: Java Exception 不知读者在Java开发的过程中有没有遇到类似的异常信息 Exception in thread "main" j ...
- 第三次学JAVA再学不好就吃翔(part79)--并发修改异常产生的原因及解决方案
学习笔记,仅供参考,有错必纠 文章目录 集合 并发修改异常产生的原因及解决方案 ConcurrentModificationException 解决方案 集合 并发修改异常产生的原因及解决方案 在这个 ...
- Java并发修改异常的源码解析
1. 什么时候会产生并发修改异常 并发的意思是同时发生,那么其实并发修改的字面意思就是同时修改,通过查看JDK的API我们可以得知,并发修改异常的出现的原因是:当方法检测到对象的并发修改,但不允许这种 ...
- Java并发--ConcurrentModificationException(并发修改异常)异常原因和解决方法
Java并发--ConcurrentModificationException(并发修改异常)异常原因和解决方法 参考文章: (1)Java并发--ConcurrentModificationExce ...
- ConcurrentModificationException 并发修改异常剖析及解决方案
最近在回头打基础学习Java SE,研究List集合的过程中,遇到了ConcurrentModificationException 并发修改异常.在此记录下遇到问题的原因解析和解决方案.错误千奇百怪, ...
最新文章
- 数据结构与算法分析(C++版)(第二版)
- 我把面试官问的没话说了,这样好吗?
- Javascript与正则表达式
- Android布局文件的布局方式
- java程序二叉树_Java实现简单二叉树
- Tencent JDK 国产化CPU架构支持分享
- Spring注解原理学习之@Size and @Pattern
- 【Luogu1580】yyy loves Easter_Egg I(纯字符串模拟)
- Win7系统开机动画设置
- Linux zmap安装
- win10不能拖动文件到其它软件
- 解决invalid operands of types ‘float‘ and ‘int‘ to binary ‘operator %
- PDF文件JAVA去水印源码,java实现pdf文件加水印
- Spring JPA 随手记
- 深入理解计算机系统 练习题3.8 理解计算机二元操作
- 用python画风景图_NV这个AI黑科技简直绝了!几笔画出逼真照片
- React中遇到的Bug——Unhandled Rejection (Error): Maximum update depth exceeded. This can happen when a com
- java计算机毕业设计中学招生管理系统源码+数据库+系统+lw文档+mybatis+运行部署
- 创建优化的Go镜像文件以及踩过的坑
- 微信自定义开发的一些问题的梳理
热门文章
- Cloud for Customer手机应用上传图片禁止从本地相册选择图片的核心代码
- Working context and Functional profile
- Wordpress上传图片的存储逻辑
- Service Broker in SAP Gateway and Kubernetes
- open the same code side by side with two splited windows at the same time
- IPM: Product 270015453 not scheduled in sales organization
- oracle system表空间扩容,Oracle 11g system表空间快速增长解决
- tstringlist怎么查看是否存在该数据_财务报表审计该如何进行?
- 【计算机网络】OSI参考模型与TCP/IP分层模型详解(超级详细,三张图完整说明)
- java当中各种流的应用场景_Java中有哪些流,常用流有哪些并有何特点和使用场景 NIO流,特性及使用时注意的事项 IO与NIO区别...