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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 jeffreyno1 于 2012-7-15 08:09 编辑

hashcode是如何实现的,实际开发中应该如何应用

2 个回复

倒序浏览
hashCode方法可以这样理解:它返回的就是根据对象的内存地址换算出的一个值。这样一来,当集合要添加新的元素时,先调用这个元素的hashCode方法,就一下子能定位到它应该放置的物理位置上。如果这个位置上没有元素,它就可以直接存储在这个位置上,不用再进行任何比较了;如果这个位置上已经有元素了,就调用它的equals方法与新元素进行比较,相同的话就不存了,不相同就散列其它的地址。这样一来实际调用equals方法的次数就大大降低了,几乎只需要一两次

评分

参与人数 1技术分 +1 收起 理由
蒋映辉 + 1

查看全部评分

回复 使用道具 举报
楼上说的很好,不过  根据对象的内存地址换算出的一个值 这里有点问题,hashcode是根据 某些字段 采用算法计算出来的。
使用Eclipse 可以很方便的实现hashcode 方法:右键--》source  下面有创建的快捷方式,可以选择参与运算的字段。
应该注意一般实现hashcode 必须 实现equals……
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马