第16题:HashMap中Key为null时,元素存放的位置
📚 回答:
-
答案 :当
HashMap的key为null时,元素会被存放在数组的第0号位置(即索引为0)。 -
底层原理:
HashMap在计算元素存储位置时,会先判断key是否为null。- 如果
key为null,直接将其存放在数组的第0号位置,而不需要计算哈希值。 - 如果
key不为null,则通过哈希算法计算存储位置。
💡 代码示例 :
以下代码展示了
key为null时的存储逻辑:
java
Map<String, String> map = new HashMap<>();
map.put(null, "Value");
System.out.println(map.get(null)); // 输出 "Value"
💡 面试官视角:
- 面试官可能会问"为什么允许
key为null?"答:这是为了提高灵活性,允许用户在某些场景下使用null作为键值,比如缓存系统中表示默认值。 - 面试官可能会追问"如果多个
null键怎么办?"答:HashMap只允许一个null键,后续插入的null键会覆盖之前的值。
📌 专栏 :大白话说Java面试题 --- 01-Java基础篇