码迷,mamicode.com
首页 > 其他好文 > 详细

终于理解了比较equals为什么要重写hashcode

时间:2014-07-18 20:25:51      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:数据   c   数据结构   eclipse   存储   链表   

打个比方,hashCode() 方法是好比是字典前面的目录,有了这个目录你查东西就会快的多,equals方法是比较的内容,就好比根据目录查内容。同一个的内容自然要有唯一的目录,所以hashCode和equals方法一般一起实现。比如Student类的equals方法根据name,school,age重写的,那么hashCode也要根据这三个属性去散列存储的地址。hash表的数据结构是链表的数组,即每个数组元素都是一个链表,链表中存的是hashCode值相等的元素,所以根据hashCode能快速的查找。Eclipse有自动生成的写法,你可以自己生成看看。但是hashCode的具体写法要依据情况去写,没固定写法。

终于理解了比较equals为什么要重写hashcode,布布扣,bubuko.com

终于理解了比较equals为什么要重写hashcode

标签:数据   c   数据结构   eclipse   存储   链表   

原文地址:http://www.cnblogs.com/mylife_001/p/3850426.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!