集合并发修改异常-增强for循环,或者迭代器遍历的时候不可修改值
Posted kevin.li
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合并发修改异常-增强for循环,或者迭代器遍历的时候不可修改值相关的知识,希望对你有一定的参考价值。
直接上代码:
无意间发现的:
//这个方法本身是为后面的集合去掉前面集合的重复数据
一直报错,并发修改异常,仔细看mainList正在迭代循环,然后我进行了remove操作,这个时候就会报这个错.
故:总结出了标题的结论
public static List<GcallModel> distinctList(List<GcallModel> list, List<GcallModel> mainList){ for (GcallModel obj : mainList) { boolean b = false; for (GcallModel o : list) { if(o.equals(obj)){ b = true; break; } } if(b){ mainList.remove(obj); } } return mainList; }
以上是关于集合并发修改异常-增强for循环,或者迭代器遍历的时候不可修改值的主要内容,如果未能解决你的问题,请参考以下文章