您的位置:首页 > 其它

异常ConcurrentModificationException

2016-07-13 15:18 393 查看
前几天项目中遇到了这个ConcurrentModificationException异常,百度一下,说什么叽叽歪歪的特多,太多了我懒得看,言简意赅就是在遍历数组集合的时候不能删除该数组或者集合中的元素,否则报这个错!

如果你也有这个异常的话是不是如我下面代码类似

ArrayList<String> list=new ArrayList<>();
list.add("张三");
list.add("李四");
list.add("王五");
list.add("赵六");

for(String str:list){
list.remove(str);
}


代码这样写是会报这个错的,知晓了原因肯定会有解决办法,下面是我的解决办法

ArrayList<String> removeList=new ArrayList<>();
for(String str:list){
//在这里写上逻辑,将要删除的元素add到removelist中
removeList.add(str);
}
//遍历removeList
for(String str:removeList){
list.remove(str);
}


肯定还有更好的办法,只是我暂时没有想到或者看到,说真的 这个异常我也是初次遇到。特此记录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Concurrent 异常 遍历