为什么HashCode为零,包含与键相同的值的HashMap

时间:2017-06-26 23:53:01

标签: java hashmap

我注意到在Java中,hashCode HashMap只包含键和值相同的条目,例如{1:1}{"abc":"abc"}等等,总是为零。这个奇怪的行为背后有什么理由吗?

1 个答案:

答案 0 :(得分:11)

这是hashCode() Map.Entry的{​​{3}}的结果,{{1}}需要键和值的哈希码为xor' d。

唯一可以告诉你为什么选择哈希码的人是最初编写它的人,尽管我的印象是Java遗憾地指定了这个(坏)哈希函数。