报错了...跟老师的代码一样
删除后的数据
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextNode(Unknown Source)
at java.util.HashMap$KeyIterator.next(Unknown Source)
at com.imooc.set.CatTest.main(CatTest.java:75)
正在回答 回答被采纳积分+1
【报错-源码】
package com.imooc.set;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class CatTest {
public static void main(String[] args) {
//定义宠物猫对象
Cat huahuaCat = new Cat("花花",12,"英短");
Cat fanfanCat = new Cat("凡凡", 13, "中华田园猫");
//讲宠物猫对象 放入 HashSet 中
Set<Cat> set = new HashSet(); //泛型 对操作内容的类型进行限制
set.add(huahuaCat);
set.add(fanfanCat);
//显示宠物猫信息
Iterator<Cat> iterator =set.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
} //输出 包名@ + 地址 → 改写 toString方法,可梗概对象内输出结果
//添加重复对象
Cat huahuaCat01 = new Cat("花花",12,"英短");
set.add(huahuaCat01);
System.out.println("======================"+"\n添加重复信息后: ");
iterator = set.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
//继续添加新的宠物猫对象
System.out.println("======================");
Cat huahuaCat02 = new Cat("花花二代",12,"英短");
set.add(huahuaCat02);
System.out.println("添加花花二代后的宠物信息:");
iterator = set.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
//查找“花花”信息并输出
System.out.println("======================"+"通过对象查找:");
//①使用对象名查找
if(set.contains(huahuaCat))
{System.out.println("花花找到了!");
System.out.println(huahuaCat);}
else {System.out.println("花花未找到");}
//②使用名字查找
System.out.println("======================"+"通过名字查找:");
boolean flag = false;
Cat c=null;
iterator = set.iterator();
while (iterator.hasNext()) {
c =(Cat)iterator.next();
if(c.getName().equals("花花")) {
flag = true; //找到了
break;}
}
if(flag) {
System.out.println("花花找到了");
System.out.println(c);
}
else {
System.out.println("花花未找到");
}
//删除花花二代的信息并重新输出
// System.out.println("=============="+"\n"+"删除后的数据");
// for(Cat cat:set) {
// if ("花花二代".equals(cat.getName()))
// set.remove(cat);
// }
//
// for(Cat cat:set) {System.out.println(cat);}
//
//
}
}
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星