我想知道当键匹配时如何有效地减去两个映射的值。目前,我有2个HashMap<String,Integer>
,它是这样的:
for (String key: map1.keySet()){
if (map2.keySet().contains(key)){
//subtract
}
}
有更好的方法吗?
最佳答案
从理论上讲,这大约可以完成,除非您可以以某种快于O(n)的方式查找两个HashMap
之间的匹配键。
遍历第一张地图的keySet()
中的键-O(n)
查看键是否在其他地图中-O(1)
做你的手术-O(1)