一、控制台输出错误
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()方法
}
}
网友评论