美文网首页
并发修改异常java.util.ConcurrentModifi

并发修改异常java.util.ConcurrentModifi

作者: 咯吱_b7cd | 来源:发表于2020-04-21 08:50 被阅读0次

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<>();

相关文章

网友评论

      本文标题:并发修改异常java.util.ConcurrentModifi

      本文链接:https://www.haomeiwen.com/subject/ensyihtx.html