Map<String, String> map = new HashMap<String, String>();
我知道map的内部工作原理。如果两个键的哈希码相同,则会发生冲突,并将其存储在linkedlist中。但如果再把那把钥匙。
这上面有什么检查吗?或者它将简单地替换该值而不进行检查?
详述更多
map.put("sparsh", "sparsh");
map.put("sparsh", "1");
它会将值"sparsh“替换为"1”
map.put("sparsh", "1");
map.put("sparsh", "1");
在上述情况下会发生什么,有替代方案吗?
以及一些与上述问题不同的上下文
System.out.println(map.put("sparsh", "sparsh"));
System.out.println(map.put("sparsh", "1"));
它首先给我"null“,然后是"sparsh"(key)。这背后的原因是什么,如果有人清楚这一点的话。
发布于 2019-06-21 02:06:16
java.util.Map.put(key, value)返回与相同键关联的前一个值。
因此,最初没有与键相关联的值,所以第一个map.put("sparsh", "sparsh")
返回null。
然后,由于地图中有key: sparsh, value: sparsh
,因此调用map.put("sparsh", "1")
将返回先前的值,如"sparsh"
所示
https://stackoverflow.com/questions/56691493
复制相似问题