# 使用Iterator对List集合进行增加或者删除操作时报异常的分析

本文探讨了在使用Iterator对List集合进行增加或删除操作时遇到的异常问题。异常出现在代码第14行,具体为ArrayList$Itr.next()方法中的checkForComodification()方法调用。通过对源码的深入分析,可以理解该异常产生的原因和解决策略。
摘要由CSDN通过智能技术生成
	使用Iterator在对List集合进行遍历集合时,如果只是遍历而不进行增加、删除操作时,可以正常运行吗,但是如果我们在使用迭代器对List集合进行插入或者删除时,就会出现Exception in thread "main" java.util.ConcurrentModificationException这个异常。
首先代码如下所示:
List<String> list = new ArrayList<String>();
        list.add("aa");
        list.add("2");
        Iterator<String> iterator = list.iterator();
        while(iterator.hasNext()){
            String s = (String) iterator.next();
            if(s.equals("2")){
                list.add("good");
        }

在idea中的报错如下所示:

Exception in thread "main" java.util.ConcurrentModificationException
	at java.base/java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1042)
	at java.base/java.util.ArrayList$Itr.next(ArrayList.java:996)
	at com.itheima.main.main(main.java:14)

由此我们可以知道这个错误时在代码的 14行,也就是下面那行


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值