比较两个hashmap <string,=“”integer =“”>并检索java

时间:2016-12-19 15:49:23

标签: java sorting hashmap

我正在尝试比较hashmaps类型的两个<String, Integer>,并尝试根据第一个地图中的最小整数值和第二个地图中的最大值来获得结果。 例如:

hashmap1:

Key value
 A    2
 B    2
 C    4

hashmap2:
key value
 A   10
 B   20
 C    5

结果为"B 2"

2 个答案:

答案 0 :(得分:2)

以下是使用流API的替代方法:

ProductcustomizerclipartsController.php

虽然我承认它非常冗长。

String key = map.entrySet().stream() .min((o1, o2) -> o1.getValue() - o2.getValue()).get().getKey(); 存储与最低值对应的键。

答案 1 :(得分:1)

你需要比较它们中的两个来获得最大值吗?如果你运行这样的东西

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;
    }
}

你会得到两者中最大的值,如果你必须得到两者的最大值,那么之后进行比较。