/** * ドメイン非依存URL出力フィルタ * javadrill.tech移行時はwp_options.home/siteurlのみ変更すればよい * * データベースには絶対URL(https://minner.asia)を保持し、 * 表示時に現在のドメイン(home_url())に動的変換する */ function javadrill_make_urls_dynamic($content) { if (empty($content)) { return $content; } // データベース内の絶対URLを現在のhome_url()に置換 $old_url = 'https://minner.asia'; $new_url = untrailingslashit(home_url()); // http版も対応(念のため) $content = str_replace($old_url, $new_url, $content); $content = str_replace('http://minner.asia', $new_url, $content); return $content; } // 投稿本文、ウィジェット、タームの説明、抜粋に適用 add_filter('the_content', 'javadrill_make_urls_dynamic', 20); add_filter('widget_text', 'javadrill_make_urls_dynamic', 20); add_filter('term_description', 'javadrill_make_urls_dynamic', 20); add_filter('get_the_excerpt', 'javadrill_make_urls_dynamic', 20); 102 「Map修羅道」 Step03 問題 | Javaドリル

102 「Map修羅道」 Step03 問題

102-step03 102「Map修羅道」

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修羅道」

🎯 実習で理解を深めよう

この内容についてJavaDrillで実際に手を動かして学習できます

コメント

タイトルとURLをコピーしました