并发修改异常java.util.ConcurrentModifi
2020-04-21 本文已影响0人
咯吱_b7cd
1 问题描述
使用foreach或者Iterator遍历list等集合的时候,如果对集合进行了更改,如删除或者增加的时候,这是会有ConcurrentModificationException抛出。
List<String> list = new ArrayList<>();
list.add("baidu");
list.add("google");
for(String aa : list){
if("baidu".equals(aa)){
list.remove(aa);
}
}
2 解决办法:
1,采用for循环遍历就不会出现这样的问题
for(int i=0; i<list.size(); i++){
if("baidu".equals(list.get(i))){
list.remove("baidu");
}
}
2,实现类换成CopyOnWriteArrayList
List list = new CopyOnWriteArrayList<>();