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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dgrlucky 中级黑马   /  2015-4-25 08:17  /  566 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

刚学习集合的时候,在后面的set集合中,保证元素的唯一性,使用hashcode 来判断,这个东西我们要怎么理解呢?它是存在内存中的吗?还是...

评分

参与人数 1黑马币 +15 收起 理由
lovely + 15 赞一个!

查看全部评分

5 个回复

倒序浏览
hashcode由类中的hashcode()方法得到,hashcode()方法在Object类中有定义,若果你不复写的话,就会直接用Object里的hashcode方法
回复 使用道具 举报
王烽棋 来自手机 中级黑马 2015-4-26 00:40:36
藤椅
HashSet判断相同是通过hashCode();和equals();两个方法共同完成的,只要有一个不同即视为不是同一对象。HashSet底层数据结构是哈希表,是为了提高效率而采取的办法,哈希值是通过本地的哈希算法获得,可以简单理解为地址值(未覆盖Object 中hashCode方法)。来自: iPhone客户端

评分

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

查看全部评分

回复 使用道具 举报
我和很好奇,hash结构,到底是怎么样的
回复 使用道具 举报
其实哈希值并不是对象的物理地址值,个人觉得哈希表数据结构其实就是区分面向对象和面向过程的转变,计算机底层运算以及早期的编程语言都是面向过程的,以生成的哈希值封装计算机赋予的地址引用对对象进行划分,能使许多流程和动作优化,以上是我的理解:L
回复 使用道具 举报
哈希值的問題還是模棱兩可
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马