黑马程序员技术交流社区

标题: 关于HashSet集合中为保证唯一性对hashCode的复写问题? [打印本页]

作者: 绝密飞行    时间: 2015-5-18 15:46
标题: 关于HashSet集合中为保证唯一性对hashCode的复写问题?
第51行,为什么后面还要加上age*XX,直接return name.hashCode();
可以不?


hashCode的问题.jpg (128.37 KB, 下载次数: 10)

第51行

第51行

作者: 绝密飞行    时间: 2015-5-18 15:47
对了,这是基础视频第14天178讲中的
作者: fenglinluomu    时间: 2015-5-18 16:24
这是为了把hashcode的值拉到一个比较大的区间,不容易重复。试想,两个人重名,年龄不一样,按你的方法两个哈希值不就一样了嘛。
作者: xgd6612    时间: 2015-5-18 16:31
.......+11黑马币 ~我迟到了~
作者: 马鹏涛    时间: 2015-5-18 16:46
为了避免哈希值重复啊  值越大重复的几率就越小
作者: 绝密飞行    时间: 2015-5-18 21:16
fenglinluomu 发表于 2015-5-18 16:24
这是为了把hashcode的值拉到一个比较大的区间,不容易重复。试想,两个人重名,年龄不一样,按你的方法两个 ...

貌似懂了些了,其实即使不加也可以,只是效率低一些罢了。如果简单用我的,两人重名还要去比较,而按老师的就没必要去比较了,速度比较快!
作者: 啊全    时间: 2015-5-19 00:02
hashcode去查查API
作者: 喻忠航    时间: 2015-5-19 00:49
学习了!!
作者: guoyangpeng    时间: 2015-5-19 06:51
菜鸟学习了!




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