Map集合中的同一键值key重复赋值(Map.put()、Map.putAll())_rmkloveme-程序员宝宝

技术标签: 集合  Java  Map集合中的同一key重复赋值  Map.putAll()  Map  key  

前言:

验证:对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^,你的支持是对我最大的鼓励~

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_37811638/article/details/103223880

智能推荐

Docker快速搭建zookeeper3.4集群_reboot_xwa的博客-程序员宝宝

​本文由作者:蛮大人  授权发布链接:https://opsdev.fun/2018/06/19/O1-8-40-Docker%E5%BF%AB%E9%80%9F%E6%90%AD%E5%BB%BAzookeeper%E9%9B%86%E7%BE%A4/著作权归作者所有。转载请联系作者获得授权。项目引入了 zookeeper,甲方一时提供不了开发用的 zookeeper 服务器。只能我们...

不同部门员工吃饭时聊些什么?一聊天,就把你的职业暴露啦!_c447228857的博客-程序员宝宝

(一)甲:你知道马云是学什么专业的吗?乙:不知道,市场营销?甲:不对,是外语。你知道马化腾是什么专业吗?乙:也是外语?甲:不对,是软件。所以,专业对前程不一定有影响,但也不定完全无关。乙:你好像说得很对,又好像什么都没说。甲:呵呵。乙:呵呵。这是产品部。(二)甲:在网游行业蛮荒时代,北京有个公司叫华彩。乙:对对对,我知道,做万王的。甲:没

剑指offer 专项突破版 71、按权重生成随机数_抓抓璐璐小可爱(๑• . •๑)的博客-程序员宝宝

题目链接思路:前缀和+二分查找首先我们新建一个前缀和数组,比如nums为[1,2,3,4],前缀和数组便为[1,3,6,10]可以知道,nums数组的和就是前缀和数组的最后一个数(lastVal)然后我们以lastVal为上界生成一个随机整数,也就是说整数的范围是[0,lastVal - 1]对于生成的某个整数n,我们去寻找前缀和数组中比n大的最小的数class Solution { int[] sums; Random random; public Soluti

系统通知整理_Philm_iOS的博客-程序员宝宝

系统通知整理//7.0// Developer/Library/Frameworks/SenTestingKit.framework/Headers/SenTestCaseRun.hSENTEST_EXPORT NSString * const SenTestCaseDidStartNotification;SENTEST_EXPORT NSString * const SenT...

pythonwhile输出每一个余数_Python学习(5)(while循环语句、循环嵌套、break/continue、赋值运算符、转义字符等 )..._weixin_39946274的博客-程序员宝宝

Python学习(5)一、python的while 循环语句二、python的赋值运算符三、python的while 循环语句 示例四、python的 break 和 continue五、python的while 嵌套1、用嵌套打印小星星2、python 九九乘法表六、python的print 函数的补充(不自动换行)七、python的字符串中的转义字符程序的三大流程顺序----从上向下,顺序执行...

you-get 下载视频_划船的使者的博客-程序员宝宝

you-get https://www.youtube.com/watch?v=afRS36CRwPI可直接使用命令下载视频you-get -i https://www.youtube.com/watch?v=afRS36CRwPI我们可以看到上面[DEFAULT]默认选项。一般来说,视频总是会下载清晰度最高的那个,如果你需要修改下载的清晰度,可以使用you-get --itag={NUMBER} [URL]命令。使用python调用import sysimport you_getdef

随便推点

数据挖掘试题(150道)_乌恩大侠的博客-程序员宝宝

单选题某超市研究销售纪录数据后发现,买啤酒的人很大概率也会购买尿布,这种属于数据挖掘的哪类问题?(A)A. 关联规则发现 B. 聚类C. 分类 D. 自然语言处理以下两种描述分别对应哪两种对分类算法的评价标准? (A)(a)警察抓小偷,描述警察抓的人中有多少个是小偷的标准。(b)描述有多少比例的小偷给警察抓了的标准。A. Precisi...

[Github] You‘ve successfully authenticated, but GitHub does not provide shell access._骑单车的王小二的博客-程序员宝宝

git push时出现这个错误提示,一般是本地设置github的ssh连接时,设置了无密码,没配置好。可用下面这个命令进行解决:git remote set-url origin [email protected]:用户名/仓库名.git

【AndroidStudio】 “错误: 程序包R不存在“,����: �����R������,乱码R乱码 的解决方法_zZnamesystem的博客-程序员宝宝_程序包r不存在

【AndroidStudio】 "错误: 程序包R不存在",����: �����R������,乱码R乱码 的解决方法

小米路由pro php,完全拆解小米路由器Pro:无接口,预加硬盘无望_weixin_39795479的博客-程序员宝宝

之前有人拆过 感觉不彻底 有人说有预留接口 可以焊接?所以抱着探索的理念 下单买了一个 到货了立刻开始拆221744xruuuxetu0rrht0h.jpg (57.44 KB, 下载次数: 10)2017-4-14 22:17 上传221744w6r1sq1mafa5s1ln.jpg (45.34 KB, 下载次数: 13)2017-4-14 22:17 上传221745fc05hhpdf0nt...

总结一下:VS2019中对C++20语言特性的支持_拓扑梅尔-漫漫开发路的博客-程序员宝宝_vs2019 支持c++20吗

有什么新东西?我们的开发团队一直都在努力工作,尝试在MSVC工具集中实现C++20尽可能多的语言特性,在已发布的VS2019 v16.7和VS2019 v16.8中,我们取得了比较大的进展。今天,我们就来总结一下这两个大版本中对C++20的支持情况。今天我们将特别关注MSVC编译器(cl.exe)中实现的C++20语言特性。有关STL相关的进展消息,我们会在Microsoft STL GitHub中进行发布。下面列出的一些特性中,有一些已经早在今年9月的举行的CppCon 2020会议中就给大家

java中的日期format如何使用_Java中SimpleDateFormat的使用方法_明明如灼的博客-程序员宝宝

本文内容大多基于官方文档和网上前辈经验总结,经过个人实践加以整理积累,仅供参考。java.text.SimpleDateFormat 以区域语言环境敏感的方式格式化和解析日期,可以将日期格式化为指定字符串和将字符串解析成日期。java.text.SimpleDateFormat 可以根据用户定义的模式格式化日期@Testpublic void test() {Calendar calendar =...

推荐文章

热门文章

相关标签