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

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

public class Main {
    public static void main(String[] args) {
        // 与えられた文字列型のキーと整数型の値からなるマップ originalMap
        Map<String, Integer> originalMap = new HashMap<>();
        originalMap.put("One", 1);
        originalMap.put("Two", 2);
        originalMap.put("Three", 3);

        // キーと値を反転させた新しいマップを作成
        Map<Integer, String> reversedMap = reverseMap(originalMap);

        // 結果を表示
        System.out.println("反転させたマップ: " + reversedMap);
    }

    // 与えられたマップのキーと値を反転させた新しいマップを作成するメソッド
    private static <K, V> Map<V, K> reverseMap(Map<K, V> originalMap) {
        // 新しいマップを作成
        Map<V, K> reversedMap = new HashMap<>();

        // オリジナルのマップのエントリに対して処理
        for (Map.Entry<K, V> entry : originalMap.entrySet()) {
            K key = entry.getKey();
            V value = entry.getValue();

            // 新しいマップに反転したエントリを追加
            reversedMap.put(value, key);
        }

        return reversedMap;
    }
}

このコードでは、reverseMap メソッドを使用して、与えられたマップ originalMap のキーと値を反転させた新しいマップ reversedMap を作成しています。reversedMap にはオリジナルのマップのキーと値が逆になったエントリが追加され、最終的に反転させたマップが表示されます。

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