Eli*_*337 6 java performance hashmap
在下面的代码中:
if (map.containsKey(key)) {
map.remove(key);
}
Run Code Online (Sandbox Code Playgroud)
查看性能,Map.containsKey()在尝试从地图中删除值之前首先进行检查是否有用?
同样的问题是检索值,如果您知道地图不包含值,首先执行包含检查是否有用null?
if (map.containsKey(key)) {
Object value = map.get(key);
}
Run Code Online (Sandbox Code Playgroud)
removenull如果没有映射则返回key没有异常将被抛出:
public V remove(Object key)
Run Code Online (Sandbox Code Playgroud)
if在尝试删除之前,我没有看到任何理由执行该操作key,也许可能是因为您想要计算从地图中删除了多少项目..
在第二个示例中,null如果key不存在,您将获得.是否检查,取决于您的逻辑.
尽量不要浪费你的时间考虑性能,containsKey有O(1)时间复杂度:
此实现为基本操作(和)提供恒定时间性能
getput
| 归档时间: |
|
| 查看次数: |
723 次 |
| 最近记录: |