java笔记-java.util.ConcurrentModif

2021-06-07  本文已影响0人  HELLO_Cand

一、控制台输出错误

Exception in thread "main" java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextNode(HashMap.java:1445)
at java.util.HashMap$KeyIterator.next(HashMap.java:1469)
at com.gz.personmain(CatTest.java:80)

二、错误分析

java.util.ConcurrentModificationException  这个异常一般在我们遍历删除集合元素时出现;是因为在读取集合数据时不允许对数据进行删除。

三、解决办法

1、解决方法1

for (People man : set) {

        if (man.getName().equals("张三")) {

                    set.remove(man);

                    break;//解决办法。加一个break语句,跳出for each遍历

        }

}

2、解决方法2

while (iterator.hasNext()) {
            People man =  iterator.next();
            if (man.getName().equals("张三")) {
                iterator.remove();//解决办法。 迭代器remove()方法
            }
           
}

上一篇 下一篇

猜你喜欢

热点阅读