本帖最后由 zhangjinyu1991 于 2013-2-22 20:11 编辑
这个另外一个兄弟的贴:
标题:HashSet集合的问题
地址:http://bbs.itheima.com/thread-38556-1-1.html
最后,对于这个小程序,我遇到了另外一个问题,想向大家请教:
对这个小程序做个小修改,就是Point中equals()、hashCode()都不重写
import java.util.HashSet;
import java.util.Set;
public class Test {
public static void main(String[] args) throws Exception{
Set set = new HashSet();
Point p1 = new Point("lisi","nanjing");
Point p2 = new Point("wangwu","shanghai");
Point p3 = new Point("zhaoliu","beijing");
set.add(p1);
set.add(p2);
set.add(p3);
System.out.println(set.size());
p1.name = "zhangsan";
set.remove(p1);
System.out.println(set.size());
}
}
class Point{
public String name;
public String address;
public Point(String name,String address){
this.name = name;
this.address = address;
}
}
我发现结果是正确的,大家有什么看法说说吧,当能重写这两个方法是有必要的,大家说说看应该怎么重写? |