hashcode
-
hashcode的作用就是获取哈希码,是一个int整数,是确定这个对象在哈希表中的位置
-
hashcode是一个对象都有的方法,是一个native方法
-
对象是分配在堆中的
hashset
-
放对象加入到hashset 的时候,会先计算hashcode判断所在的位置
-
如果为空,就直接加进去
-
如果有数值,则hash冲突,此时调用equals方法来检查两个对象是否相等
- 如果相等,就不会加入
- 如果不相等,那么就重新散列
-
如果两个对象相等,那么hashcode相等
-
两个对象相等,则使用equals也必须是相等的
-
两个对象的hashcode相等,也不一定是相等的
-
如果equals 被覆盖,则hashcode的方法也必须被覆盖