1. ホーム
  2. java

[解決済み] Java Mapで最大値に関連するKeyを検索する

2022-04-23 07:40:12

質問

マップの最大値に関連付けられたキーを取得する最も簡単な方法は何ですか?

最大値に対応するキーが欲しい場合、Collections.max(someMap)が最大値のキーを返すと思います。

どのように解決するのですか?

基本的には、マップのエントリセットを繰り返し、quot;現在知られている最大値とそれに関連するキーの両方を記憶しておく必要があります。(もちろん、両方を含むエントリだけでも構いません)。

例えば

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