102 「Map修羅道」 Step07 問題


「店舗別の商品在庫を管理せよ」

あなたは、複数の店舗における商品の在庫情報を管理しています。
構造としては、次のように Mapの中にMap がある形です:

  • 店舗名(String) → 商品名(String) → 在庫数(Integer)

次のデータをMapに登録し、すべての情報を出力してください:

  • “Tokyo” 店
  • “Apple” → 10
  • “Banana” → 5
  • “Osaka” 店
  • “Apple” → 7
  • “Orange” → 3

出力形式(順不同):

Tokyo:
Apple → 10
Banana → 5
Osaka:
Apple → 7
Orange → 3

要件

  • Map<String, Map<String, Integer>> を使うこと
  • データを登録する際、ネストされたMapを初期化してから使うこと
  • for 文で2重ループしてすべてのデータを出力すること

テストコード(Main.java)

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

ヒント

  • 最初に containsKey() で店舗(外側のMap)をチェック
  • 店舗Mapがなければ new HashMap<>() を使って初期化
  • 出力は「外側のMap → 内側のMap」の2重ループになる

解答例

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