java - HashMap 中 NULL 键的哈希码

标签 java collections hashmap

我刚刚阅读了 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/

相关文章:

java - 嵌入式 jetty 与 Resteasy 的集成

java - 如何转义 URL 但保持 IPv6 地址周围的方括号不变

c# - 我在理解 IQueryable<T> 时遇到问题

c# - C# 中作为装饰器的集合

javascript - 仅当特定 session / session 不为 false 时, meteor 才允许 Collection.insert

java - 仅使用 javascript 检查 jsp 中的用户名可用性

java - GAE 的 ReSTLet Swagger 扩展使用指南

java - 无法将值放入 HashMap

C++ 哈希表和链表问题

java - 排序 HashMap