首页 > 其他 > 详细

map put相同的key

时间:2019-04-16 16:28:42      阅读:175      评论:0      收藏:0      [点我收藏+]

Map添加相同的key

HashMap是的key是不能重复的,如果有相同的key,最后一个key对应的value会把前一个相同的value覆盖掉。

如果键是一个对象的话,不同的对象就是不同的key

技术分享图片

技术分享图片

技术分享图片

但是如果一个对象内相同的值看做是同一个对象的话就在model里面重写HashCode()和equals()方法,map是先从key的hashcode()来决定在存入map哪个地方的哪个链,equals()来判断这条链上是否有重复的key。

技术分享图片

技术分享图片

技术分享图片

俩个model对象结果只有一个,后面的把前面的覆盖了。

前面是键是对象的话,相同的key重复和不重复的俩个情况,但是如果key是String型的呢?key是不能有相同的string的,重复put相同的string,后面的会替换前面相同的key。

这里要介绍一个identityHashMap(),HashMap判断一个key是否相同是看key1.equals(key2)来判断,而IdentityHashMap判断一个key是否相同那个按key1==key2。所以只要是新的对象就会有新的地址就当做不同的key,不管key 的值是否相同。

技术分享图片

技术分享图片

map put相同的key

原文:https://www.cnblogs.com/qianxinxu/p/10717875.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!