第一件事 做的是判断两个元素的哈希值是否相同,如果相同,代表这两个元素
可能是同一个元素.去执行第二件事。如果两个对象的哈希值不同,
HashSet集合认为这两个对象是不同的对象,不用判断equals,直接添加。
第二件事
在去进行equals比较。如果equals也返回true,
那么hashSet认为这两个元素重复,不可添加第二元素.
是否重复的元素的一个初始条件,两个对象如果hashCode一样,那么才可以判断是否
重复,通过equals方法判断。
如果两个对象hashCode不一样,就认为这两个对象是不同的对象,不会判断equals
如果在hashCode方法中返回一个常量,但是效率下降,每一次操作都需要进行equals比较.所以为了提高效率,我们在重写hashCode时利用对象的属性获得hashCode
|