前言:

验证:对Map集合中的同一键值key重复赋值?
结果:对Map集合中的同一键值key重复赋值会覆盖之前的结果。

验证如下:

    /**
     * 验证:对Map集合中的同一键值key重复赋值?
     * 结果:对Map集合中的同一键值key重复赋值会覆盖之前的结果
     */
    Map<String, Object> map = new HashMap<String, Object>();
    map.put("data", "100");
    map.put("msg", "success");
    map.put("info", "你的数学成绩已合格");
    System.out.println("map的大小:"+map.size());
    System.out.println("msg:"+map.get("msg"));
    map.put("msg", "fail");
    System.out.println("msg:"+map.get("msg"));
    
    /**
     * 整合后的Map集合大小是5而不是6,那是因为两个Map集合中有一个重复的键名“info”。
     * 
     * Map集合的键名是不能重复的,所以新的“info”键值取代了旧的“info”键值。
     */
    Map<String, Object> map2 = new HashMap<String, Object>();
    map2.put("data2", "120");
    map2.put("msg2", "good");
    map2.put("info", "你的数学成绩已合格");
    System.out.println("map2的大小:"+map2.size());
    map.putAll(map2);//将map2集合添加到map集合当中
    System.out.println("map的大小:"+map.size());

验证结果:

map的大小:3
msg:success
msg:fail
map2的大小:3
map的大小:5

延伸学习:

验证:get()获取 Map集合中的key不存在时会报错吗? 

        Map<String, String> map = new HashMap<String, String>();
        map.put("id", "1");
        map.put("name", "小明");
        System.out.println("id="+map.get("id")+", name="+map.get("name")+", age="+map.get("age"));

结果:id=1, name=小明, age=null

结果:不报错,直接输出null。

总结:

1、Map集合的键名key是不能重复的。

2、对Map集合中的同一键值key重复赋值会覆盖之前的结果。

3、get()获取 Map集合中的key不存在时不会报错,直接输出null。

 

 

 

最后,大家觉得我写的不错的,可以关注下哦^v^,你的支持是对我最大的鼓励~

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐