检查 HashMap 中的键是否存在总是必要的吗?
我有一个包含 1000 个条目的 HashMap,我正在考虑提高效率。
如果HashMap的访问非常频繁,那么每次访问时都检查键是否存在将导致很大的开销。相反,如果密钥不存在并因此发生异常,我可以捕获异常。 (当我知道这种情况很少发生时)。这将使对 HashMap 的访问减少一半。
这可能不是一个好的编程实践,但它将帮助我减少访问次数。或者我在这里遗漏了什么?
[Update] 我的 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
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)