关于HashSet添加数据在table表中位置的问题,以及对象的hash值计算是按地址值计算吗的问题
6月10号在Java交流频道请教了一个问题,感谢@库米豪斯巴达锅铲祖师 和@HD Superman 的回复.
这里详细把问题描述一下,希望能够讨论一下.
1. 运行情况
1.1 代码
ja
首先,toString方法的作用仅仅是将对象以字符串形式描述,让程序员看得快乐一点,与哈希值的计算和对象相等与否的判断无关,没必要测试toString
你的第二个Dog对象和lucy在一个位置的原因可能是Dog对象的哈希值计算结果正好和lucy对象的哈希值映射在同一个数组下标,也就是存在同一个列表,但因为不相同,所以不覆盖
但是为什么你的图上所有对象生成的哈希值都一样了。。。好神奇