A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 丁林 金牌黑马   /  2011-10-9 10:18  /  1970 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

反射那章老师讲了equals和hashcode方法,听得懵懵懂懂的,equals倒是明白,hashcode在java内部到底是怎么回事?

2 个回复

正序浏览
你可以这样想,集合就是一个很大的仓库,每个仓库中都有很多不大不小一样的箱子,每个对象放入这个大仓库都要有个号码牌,根据hashcode()提供的号码牌就把对象放入了有相应号码的箱子里。这样的话,我们在找特定对象的时候就会看他的号码牌,就是hashcode()返回的值,找到了之后,在比对箱子类的对象跟我们要找的内容是不是相等。

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

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
是存储在哈希表里的哈希码。
hashCode就是一种查找的索引值。就好比一个数组,你用数组下标来查找
你的数组元素,同样,hashCode来查找hashTable中的存储元素。当然,作为散列方
式的查找和存储,要比数组这种线性数据结构复杂的多。

这是关系到数据结构的知识,你可以看一下数据结构方面的书籍

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马