标签: java hashmap
我注意到在Java中,hashCode HashMap只包含键和值相同的条目,例如{1:1},{"abc":"abc"}等等,总是为零。这个奇怪的行为背后有什么理由吗?
hashCode
HashMap
{1:1}
{"abc":"abc"}
答案 0 :(得分:11)
这是hashCode() Map.Entry的{{3}}的结果,{{1}}需要键和值的哈希码为xor' d。
hashCode()
Map.Entry
唯一可以告诉你为什么选择哈希码的人是最初编写它的人,尽管我的印象是Java遗憾地指定了这个(坏)哈希函数。