集合循环过程中添加(删除)add(remove)出错java.util.ConcurrentModificationException checkForComodification

List集合在使用迭代器循环的过程中是不能做移除或者新增的,(本文拿新增举例,删除同理)
如图所示
在这里插入图片描述

原因:

程序在使用迭代器循环的过程中执行了add()操作导致集合的内部已经加入了add()的数据 如图位置:
在这里插入图片描述
当程序在此执行到for循环的条件lists时和上次循环的判断条件已经改变了,导致程序报错: 如图所示
在这里插入图片描述

解决方案:

不适用迭代器循环,提前获取集合的数组size用于做循环的判断条件:如图所示

在这里插入图片描述
注:本文例子只用于举例说明List集合迭代过程中的增加和删除,不考虑添加业务逻辑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值