如何使用java在hashmap中返回最大值及其键

时间:2018-01-09 11:39:46

标签: java hashmap

我想在地图中找到关键字的最大值。如果有多个值,则返回所有条目。我如何在java中做到这一点

这是我有{1 = 1,3 = 1,4 = 3,5 = 1}的地图 我想返回最大值和键,即4 = 3 我尝试使用以下代码,但在这里我得到第一个迭代值,即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;
    }
}

此外,如果有多个具有相同值的记录,则打印所有

1 个答案:

答案 0 :(得分:0)

以下是使用流的示例:

var selectedIndex : Int = -1

我认为你把它作为家庭作业,所以这个解决方案可能无济于事,因为我可能会使用你无法知道的技术。正如评论者已经告诉过你的那样,你应该提供更多关于你到目前为止所做的事情以及实际问题所在的信息。只是给你的导师提供这个解决方案而不能解释它背后的逻辑,将来不会帮助你。