黑马程序员技术交流社区

标题: 反射中的equals和hashcode [打印本页]

作者: 丁林    时间: 2011-10-9 10:18
标题: 反射中的equals和hashcode
反射那章老师讲了equals和hashcode方法,听得懵懵懂懂的,equals倒是明白,hashcode在java内部到底是怎么回事?
作者: 林国锋    时间: 2011-10-9 10:27
是存储在哈希表里的哈希码。
hashCode就是一种查找的索引值。就好比一个数组,你用数组下标来查找
你的数组元素,同样,hashCode来查找hashTable中的存储元素。当然,作为散列方
式的查找和存储,要比数组这种线性数据结构复杂的多。

这是关系到数据结构的知识,你可以看一下数据结构方面的书籍
作者: 刘一锋    时间: 2011-10-9 10:51
你可以这样想,集合就是一个很大的仓库,每个仓库中都有很多不大不小一样的箱子,每个对象放入这个大仓库都要有个号码牌,根据hashcode()提供的号码牌就把对象放入了有相应号码的箱子里。这样的话,我们在找特定对象的时候就会看他的号码牌,就是hashcode()返回的值,找到了之后,在比对箱子类的对象跟我们要找的内容是不是相等。

一般用equals和hashcode都要重写一下,




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2