java - 键减两个HashMap中值的有效方法

标签 java hashmap

我想知道如何在键匹配时有效地减去两个映射的值。目前我有 2 HashMap<String,Integer>并这样做:

for (String key: map1.keySet()){
   if (map2.keySet().contains(key)){
       //subtract
   }
}

有更好的方法吗?

最佳答案

从理论上讲,这几乎是最快的,除非你能以某种方式以比 O(n) 更快的方式找到两个 HashMap 之间的匹配键。

  • 遍历第一个 map 的 keySet() 中的键 - O(n)
    • 查看 key 是否在其他 map 中 - O(1)
    • 做你的操作 - O(1)

关于java - 键减两个HashMap中值的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5792235/

相关文章:

java - 将不同的模式与字符串匹配

Java - 如何从 HashMap 中删除重复的条目?

c++ unordered_map 冲突处理、调整大小和重新散列

Java:HTTP异步非阻塞远程日志服务器?

java - 当提供以 HTML 作为值的 JSON 输入时,REST API 返回 400(错误请求)

java - 更新 hashmap 中的字符串值

java - 为什么要使用 HashMap ?

java - 如何正确存储到 HashMap ,然后复制到 TreeMap 以循环显示键和值

java - ADF 中的有界任务流与无界任务流

java - quartz 作业重叠