并发修改异常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<>();

上一篇 下一篇

猜你喜欢

热点阅读