我刚刚阅读了 Java 中 HashMap 和 HashTable 类之间的区别。在那里我发现了一个区别,前者允许空键,而后者不允许相同的特权。 就 HashMap 的工作而言,我知道,它调用键上的 hashcode 方法来查找要放置该键值对的存储桶。我的问题来了: 空值的哈希码是如何计算的,或者空键的哈希码是否有任何默认值(如果有,请指定值)?
最佳答案
来自 HashMap :
public V put(K key, V value) {
if (key == null)
return putForNullKey(value);
...
如果你看得更远,你会发现 null 总是进入 bin 0
关于java - HashMap 中 NULL 键的哈希码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17268212/