Java 集合:HashSet 与 hashCode、equals

2014-11-24 13:02:36 · 作者: · 浏览: 2

大家都说 Java 很简单,的确 Java 入门不难,但是要想深入了解 Java 那不是一朝一夕能够做到的!


学习 Java 最重要的一点是要学习其设计思想和设计理念,比如集合框架、IO框架的设计等。


通过一个实例谈谈 HashSet 与 hashCode、equals 的使用,以及在使用时的注意事项。


设计一个 Person 类,如下:


这个类很简单,两个成员变量以及 set、get 方法,注意这里没有重写 equals、hashCode 方法。为了在打印的时候方便看出结果,重写 toString 方法。


测试类也照样很简单,如下:



如果在代码中删除一个“人”,很简单,只需要调用 remove 方法即可,如下所示:



这个时候,我需要修改 Person 这个类,重写父类 Object 的两个方法,equals、hashCode,修改之后的代码: