102 「Map修羅道」 Step03 問題


1つのキーに複数の値を格納するには?

ある商品カテゴリと、それに属する商品名の対応を管理したい。
次のようなカテゴリと商品をMapに登録し、出力してください:

  • “Food” → “Apple”, “Banana”
  • “Clothing” → “T-shirt”, “Jeans”
  • “Food” → “Orange”

ただし、Mapの値として List<String> を使用し、カテゴリごとに複数の商品を登録できるようにしてください。


要件

  • Map<String, List<String>> を使用すること
  • 同じキーに複数回商品を追加できるようにすること
  • for 文を使ってすべてのカテゴリと商品を出力すること

出力例(順不同):

Food:

Apple

Banana

Orange
Clothing:

T-shirt

Jeans

テストコード(Main.java)

public class Main {
    public static void main(String[] args) {
        MapUtil.printCategoryMap();
    }
}

ヒント

  • 値が List のとき、要素追加は map.get(key).add(...) で行う
  • ただし、put() 前にそのキーの存在を確認し、new ArrayList<>() を用意する必要がある

解答例

102 ステップアップ問題 「Map修羅道」