102 「Map修羅道」 Step06 問題


「この商品ID、何て名前?」

あなたは、商品IDと商品名の対応を Map<Integer, String> で管理しています。
Mapに次のデータを登録し、その後、「ある商品名」がMap内に存在するかを判定し、そのIDを出力してください。

登録データ:

  • 101 → “Apple”
  • 102 → “Banana”
  • 103 → “Orange”

検索対象の商品名(固定):”Banana”

出力例:

商品名: Banana
商品ID: 102

要件

  • Map<Integer, String> を使用すること(キーがID)
  • 値からキーを探す処理を自力で書くこと(Mapは値からの検索に最適化されていない)
  • Mapをループ処理して値を見つけたら、対応するキーを出力すること
  • 値が見つからなかった場合は「見つかりませんでした」と表示すること

テストコード(Main.java)

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

ヒント

  • map.containsValue("Banana") というメソッドはあるが、値に対応するキーを取るにはループが必要
  • entrySet() で key と value を両方同時に扱える

解答例

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