hashcode相等两个类一定相等吗?equals呢?相反呢?

2018-11-20 03:23:59来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

hashCode相等,equals也不一定相等, 两个类也不一定相等

equals相同, 说明是同一个对象, 那么hashCode一定相同

 

哈希表是结合了直接寻址和链式寻址两种方式,所需要的就是将需要加入哈希表的数据首先计算哈希值,其实就是预先分个组,然后再将数据挂到分组后的链表后面,随着添加的数据越来越多,分组链上会挂接更多的数据,同一个分组链上的数据必定具有相同的哈希值,java中的hash函数返回的是int类型的,也就是说,最多允许存在2^32个分组,也是有限的,所以出现相同的哈希码就不稀奇了

 

重名的人很多, 名字相同, 但不是同一个人, hashCode就是名字, 人就是对象

 

参考: https://blog.csdn.net/weixin_39532479/article/details/79814516

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:mybatis

下一篇:Java http请求工具类