020 コレクションフレームワーク(Map) 022 解答例

import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;

public class Main {
    public static void main(String[] args) {
        // 与えられた文字列型のキーと整数型の値からなるマップ priceMap
        Map<String, Integer> priceMap = new HashMap<>();
        priceMap.put("Apple", 120);
        priceMap.put("Banana", 80);
        priceMap.put("Orange", 150);
        priceMap.put("Grapes", 200);

        // マップ内で最大の値を持つエントリを見つける
        Entry<String, Integer> maxEntry = findMaxEntry(priceMap);

        // 結果を表示
        System.out.println("マップ内で最大の値を持つエントリ: " + maxEntry);
    }

    // マップ内で最大の値を持つエントリを見つけるメソッド
    private static Entry<String, Integer> findMaxEntry(Map<String, Integer> map) {
        if (map.isEmpty()) {
            // マップが空の場合はnullを返すか、エラー処理を行うなど適切な対応を行う
            return null;
        }

        Entry<String, Integer> maxEntry = null;

        // マップの各エントリに対して処理
        for (Entry<String, Integer> entry : map.entrySet()) {
            if (maxEntry == null || entry.getValue() > maxEntry.getValue()) {
                // 最大エントリがnullまたは現在のエントリの値が最大エントリの値より大きい場合
                maxEntry = entry;
            }
        }

        return maxEntry;
    }
}

このコードでは、findMaxEntry メソッドを使用して、与えられたマップ priceMap 内で最大の値を持つエントリを見つけています。見つかった最大のエントリが表示されます。また、マップが空の場合に適切に対応しています。

「020 コレクションフレームワーク」問題集リスト