2 qq 34333347 qq_34333347 于 2016.04.02 00:21 提问

java中,哪种情况hashcode一样,但是equal却不一定相等

hashcode一样,内存地址应该也一样,那么说明是一样的对象或者变量,那为什么还要说,先判断hashcode是否一样,如果一样了,再去判断equal,用来确定不一样的结果

2个回答

caozhy
caozhy   Ds   Rxr 2016.04.02 01:03

考虑一种极端情况,如果你的程序有多于2^32个对象,无论你的hash算法是什么,显然用int表示hashcode肯定有重复。

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.04.02 08:00

因为hash code是通过哈希函数来映射的,肯定会出现两个不同key的hash值相同,这就是哈希冲突,是哈希算法需要解决的问题。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!