仅用于实验,我在null
实例中添加了多个Hashmap
个密钥。并没有抱怨。这样做有什么好处?
代码是,
Map hmap = new HashMap();
hmap.put("sushil","sushil11" );
hmap.put(null,null);
hmap.put(null,"king");
hmap.put(null,"nagasaki");
hmap.put(null,null);
地图上有多少把钥匙?
答案 0 :(得分:11)
我猜你还没有添加多个null
- 键。您只是多次覆盖相同的null
密钥。
答案 1 :(得分:7)
普通的hashmap将具有唯一键,因此您将重复覆盖null键的条目。您将没有多个相同的键(为此您需要MultiMap或类似的)
答案 2 :(得分:4)
答案 3 :(得分:3)
用于获取switch:case:默认行为。
示例:
问题定义:CS部门大楼的咖啡店。他们以1.00美元向CS学生提供咖啡,向IT部门学生提供1.25美元,其他人以1.50美元提供咖啡。
然后地图将是:
键 - >值
IT - > 1.25
CS - > 1.00
null - > 1.50
如果(map.containsKey(DEPT))
price = map.get(dept);
否则
price = map.get(null);
P.S。 - 如果这是一个字,我不是“部门”。 :)
答案 4 :(得分:1)
问题是在HashMap中有多个键是不可能的。
如果一次又一次地传递null,则仅替换旧值。
参见:
答案 5 :(得分:0)
HashMap允许多个空值,但仅允许一个空键。 如果您按如下所示编写多个null键,则null将被覆盖,并且您将得到最终的覆盖结果。即“世界”
Map<String, String> valueMap = new HashMap<>();
valueMap.put(null, "hello");
valueMap.put(null, "world");
System.out.println(valueMap.get(null));
输出:
"world"