hashCode的问题
平时打印对象的地址不就是 类名@... 这个就是hashcode了么?但是老师说hashcode是分类数据的一种算法? 还有就是分类到不同的桶里,对象的地址不是唯一的么?为什么还能把有相同的hashcode的对象分成一类? 而且如果hashcode相等了,那对象就一定相等了,equals方法不就没必要写了么?hashcode和哈希表是什么关系?
源自:Java集合
3-8 添加重复数据
44
收起
正在回答
1回答
你看到的一串十六进制表示的数字串是表示地址的。
分类到不同的桶里,可以理解成那个桶是可以存放好多数据的,每个数据都会存放到一个内存空间,所以这个桶就是一片内存空间,可以存储多个数据。
hashcode相等,不一定对象就相等。就像视频中说的,hashcode相等只是在一个桶里。一个桶里有很多对象,还要再用equals方法进行比较。
哈希算法是算法的一中,哈希表是数据结构
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星