首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >containsKey检查hashmap

containsKey检查hashmap
EN

Stack Overflow用户
提问于 2014-06-18 06:29:24
回答 3查看 65关注 0票数 0

为了理解这一点,我阅读了多篇文章,但我似乎无法理解为什么在执行put操作之前,如果地图没有包含密钥,为什么要进行检查呢?比如,

代码语言:javascript
复制
    if(!myMap.containsKey(myKey) {
    myMap.put(myKey,myValue);
}

为什么我们需要这张支票?无论哪种方式,map都不允许重复键,如果键已经存在,则用新值替换键。那么,为什么我们需要显式地检查这个呢?是否需要对Map的所有实现进行检查?如果这是一个非常基本的问题,我很抱歉。我似乎找不到这个确切问题的答案。如果有回复我可能错过的帖子,请给我指点,并随时标记我的副本。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-06-18 06:33:03

您需要检查,因为有时如果键已经存在,则不希望更新映射的值。我认为这是一个广泛使用的代码块,其中映射是可变的/可修改的,但是可以防止重写值。

票数 3
EN

Stack Overflow用户

发布于 2014-06-18 06:35:39

value被覆盖时,key也会被覆盖。

票数 0
EN

Stack Overflow用户

发布于 2014-06-18 06:37:55

最好在这里添加对这些多个帖子的引用,以了解详细的描述。

映射确实不允许“多个”条目,因此当您调用put(key, value)时,您实际上替换了现有的值或创建了新的条目。因此,如果您对上一组条目感兴趣,那么只有您可以调用put()而无需任何检查。但是,如果您对第一项感兴趣,则只应在输入前检查键的存在。

这个例子是属性文件和Windows之间的区别。如果在属性中有两个具有相同键的条目,则将设置最后一个值。但是,在解析ini文件时,将接受第一个重复条目。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24278474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档