密钥存在检查HashMap

问题:

是否检查HashMap中的密钥存在是否必要?
我有一个HashMap说1000个条目,我正在提高效率。
如果非常频繁地访问HashMap,则在每次访问时检查密钥存在将导致很大的开销。相反,如果密钥不存在,因此发生异常,我可以捕获异常。 (当我知道这很少发生)。这将减少对HashMap的访问。
这可能不是一个很好的编程实践,但它可以帮助我减少访问次数。还是我在这里遗漏的东西?
 更新]我在HashMap中没有空值。

回答:

你有没有存储空值?如果没有,你可以做:

Foo value = map.get(key);
if (value != null) {
    ...
} else {
    // No such key
}

否则,你could只是检查存在是否返回一个空值:

Foo value = map.get(key);
if (value != null) {
    ...
} else {
    // Key might be present...
    if (map.containsKey(key)) {
       // Okay, there's a key but the value is null
    } else {
       // Definitely no such key
    }
}

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Key existence check in HashMap

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

7 + 2 =