HashMap

"HashMap在Java中允许null键,但仅允许一个null键。当尝试插入第二个null键时,它将替换原有的null键对应的值。因此,最终map的内容会是{null=2,a=null,b=null}
摘要由CSDN通过智能技术生成

概述


  在HashMap类中有内部类static class Node<K,V> implements Map.Entry<K,V>,这就是存储键值的地方。HashMap中null是合法的键,最多只允许一条Node的key为null,但允许多条Node的value为null。

例:

以下代码打印内容是什么?

Map<String,String> map=new HashMap<>();
map.put(null,"1");
map.put(null,"2");
map.put("a",null);
map.put("b",null);
System.out.println(map);

A、null不能为键,报错;
B、{null=2, a=null, b=null};
C、{null=1, a=null, b=null};
D、{null=1, null=2, a=null, b=null}
解析:
  1、null为合法键,排除A;
  2、只允许一个可以为null,排除D;
  3、其实因为null==null,所以map.put(null,“2”);会替换掉map.put(null,“1”);
最后选 B。
Java容器实际上包含的是引用变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值