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-迭代器并发修改异常相关推荐

  1. Java中遍历集合的并发修改异常解决方案

    遍历集合的删除元素的问题 问题引出: 当我们遍历集合从中找出某一批元素并删除的时候, 可能出现一种并发修改异常问题. 哪些变量会存在这个问题? 迭代器遍历集合且直接用集合删除元素的时候可能出现, 例如 ...

  2. java迭代器删除元素出异常_java迭代器移除元素出现并发修改异常的原因及解决...

    迭代器(Iterator的对象)主要用于遍历集合,体现的就是迭代器模式. Iterator接口定义了以下四种方法. boolean hasNext():如果集合还没遍历完就返回true. Object ...

  3. php 迭代器迭代中文时重复,3种方式解决iterator迭代器并发修改异常

    3种方式解决iterator迭代器并发修改异常ConcurrentModificationException 在使用迭代器的时候,时长会遇到 ConcurrentModificationExcepti ...

  4. 理解和解决Java并发修改异常ConcurrentModificationException(转载)

    原文地址:https://www.jianshu.com/p/f3f6b12330c1 理解和解决Java并发修改异常ConcurrentModificationException 不知读者在Java ...

  5. java 并发修改_理解和解决Java并发修改异常ConcurrentModificationException

    your name.jpg 关键字: Java Exception 不知读者在Java开发的过程中有没有遇到类似的异常信息 Exception in thread "main" j ...

  6. 第三次学JAVA再学不好就吃翔(part79)--并发修改异常产生的原因及解决方案

    学习笔记,仅供参考,有错必纠 文章目录 集合 并发修改异常产生的原因及解决方案 ConcurrentModificationException 解决方案 集合 并发修改异常产生的原因及解决方案 在这个 ...

  7. Java并发修改异常的源码解析

    1. 什么时候会产生并发修改异常 并发的意思是同时发生,那么其实并发修改的字面意思就是同时修改,通过查看JDK的API我们可以得知,并发修改异常的出现的原因是:当方法检测到对象的并发修改,但不允许这种 ...

  8. Java并发--ConcurrentModificationException(并发修改异常)异常原因和解决方法

    Java并发--ConcurrentModificationException(并发修改异常)异常原因和解决方法 参考文章: (1)Java并发--ConcurrentModificationExce ...

  9. ConcurrentModificationException 并发修改异常剖析及解决方案

    最近在回头打基础学习Java SE,研究List集合的过程中,遇到了ConcurrentModificationException 并发修改异常.在此记录下遇到问题的原因解析和解决方案.错误千奇百怪, ...

最新文章

  1. 数据结构与算法分析(C++版)(第二版)
  2. 我把面试官问的没话说了,这样好吗?
  3. Javascript与正则表达式
  4. Android布局文件的布局方式
  5. java程序二叉树_Java实现简单二叉树
  6. Tencent JDK 国产化CPU架构支持分享
  7. Spring注解原理学习之@Size and @Pattern
  8. 【Luogu1580】yyy loves Easter_Egg I(纯字符串模拟)
  9. Win7系统开机动画设置
  10. Linux zmap安装
  11. win10不能拖动文件到其它软件
  12. 解决invalid operands of types ‘float‘ and ‘int‘ to binary ‘operator %
  13. PDF文件JAVA去水印源码,java实现pdf文件加水印
  14. Spring JPA 随手记
  15. 深入理解计算机系统 练习题3.8 理解计算机二元操作
  16. 用python画风景图_NV这个AI黑科技简直绝了!几笔画出逼真照片
  17. React中遇到的Bug——Unhandled Rejection (Error): Maximum update depth exceeded. This can happen when a com
  18. java计算机毕业设计中学招生管理系统源码+数据库+系统+lw文档+mybatis+运行部署
  19. 创建优化的Go镜像文件以及踩过的坑
  20. 微信自定义开发的一些问题的梳理

热门文章

  1. Cloud for Customer手机应用上传图片禁止从本地相册选择图片的核心代码
  2. Working context and Functional profile
  3. Wordpress上传图片的存储逻辑
  4. Service Broker in SAP Gateway and Kubernetes
  5. open the same code side by side with two splited windows at the same time
  6. IPM: Product 270015453 not scheduled in sales organization
  7. oracle system表空间扩容,Oracle 11g system表空间快速增长解决
  8. tstringlist怎么查看是否存在该数据_财务报表审计该如何进行?
  9. 【计算机网络】OSI参考模型与TCP/IP分层模型详解(超级详细,三张图完整说明)
  10. java当中各种流的应用场景_Java中有哪些流,常用流有哪些并有何特点和使用场景 NIO流,特性及使用时注意的事项 IO与NIO区别...