我想知道当键匹配时如何有效地减去两个映射的值。目前,我有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)

10-07 13:17