【问题标题】:Comparing two hashmap <String , Integer> and retrieving the key with the lowest integer value in java比较两个hashmap <String , Integer> 并检索java中具有最低整数值的键
【发布时间】:2016-12-19 15:49:22
【问题描述】:

我正在尝试比较 &lt;String, Integer&gt; 类型的两个 hashmaps 并尝试根据第一个映射中整数的最小值和第二个映射中的最大值来获得结果。 例如:

hashmap1:

Key value
 A    2
 B    2
 C    4

hashmap2:
key value
 A   10
 B   20
 C    5

结果将是"B 2"

【问题讨论】:

    标签: java sorting hashmap


    【解决方案1】:

    这是使用流 API 的另一种方法:

    String key = map.entrySet().stream()
        .min((o1, o2) -> o1.getValue() - o2.getValue()).get().getKey();
    

    虽然我承认它很冗长。

    key 存储与最小值对应的键。

    【讨论】:

      【解决方案2】:

      你需要比较它们两者以获得最大值吗?如果你跑了这样的事情

      Map.Entry<Foo, Bar> maxEntry = null;
      
      for (Map.Entry<Foo, Bar> entry : map.entrySet())
      {
          if (maxEntry == null || entry.getValue().compareTo(maxEntry.getValue()) > 0)
          {
              maxEntry = entry;
          }
      }
      

      您将获得两者中的最大值,如果您必须获得两者中的最大值,然后再进行比较。

      【讨论】:

        猜你喜欢
        • 2021-06-05
        • 1970-01-01
        • 1970-01-01
        • 2011-12-11
        • 2012-05-26
        • 1970-01-01
        • 1970-01-01
        • 2016-03-17
        • 1970-01-01
        相关资源
        最近更新 更多