java map.put map_java map .put 方法

展开全部

被222覆盖了,因为你的两个key都是1。Map是以K-Value的键值对形式来存储的,不能包含相同的62616964757a686964616fe58685e5aeb931333365666162key,每个key只能映射一个value。

如果想实现一个key保存两个value,可以参考以下代码:

15e434ee08120cf81199dcf67fbfcacd.png

public class test {

public static void main(String[] args) {

String str1 = new String("xx");

String str2 = new String("xx");

System.out.println(str1 == str2);

Map map = new IdentityHashMap();

map.put(str1, "nihao");

map.put(str2, "baiduzhidao");

for(Entry entry : map.entrySet())

{

System.out.println(entry.getKey()+"   " + entry.getValue());

}

System.out.println("     containsKey---> " + map.containsKey("xx"));

System.out.println("str1 containsKey---> " + map.containsKey(str1));

System.out.println("str2 containsKey---> " + map.containsKey(str2));

System.out.println("    value----> " + map.get("xx"));

System.out.println("str1  value----> " + map.get(str1));

System.out.println("str2  value----> " + map.get(str2));

}

}

再来看一下运行后的结果:

3a273ff7596fabab85a0a398ebf489cf.png

false

xx   baiduzhidao

xx   nihao

containsKey---> false

str1 containsKey---> true

str2 containsKey---> true

value----> null

str1  value----> nihao

str2  value----> baiduzhidao

我们可以知道IdentityHashMap是靠对象来判断key是否相等的,如果我们一个key需要保存多个value的时候就需要使用到这个IdentityHashMap类,这样我们我们就可以需要的时候使用到这个类了。

扩展资料:

Map接口中键和值一一映射. 可以通过键来获取值。

给定一个键和一个值,你可以将该值存储在一个Map对象. 之后,你可以通过键来访问对应的值。

当访问的值不存在的时候,方法就会抛出一个NoSuchElementException异常.

当对象的类型和Map里元素类型不兼容的时候,就会抛出一个 ClassCastException异常。

当在不允许使用Null对象的Map中使用Null对象,会抛出一个NullPointerException 异常。

当尝试修改一个只读的Map时,会抛出一个UnsupportedOperationException异常。

参考资料:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值