Menu
Coddy logo textTech

keySet() を使用したイテレーション

CoddyのJavaジャーニー「ロジックとフロー」セクションの一部 — レッスン 17/59。

keySet() を用いたイテレーションとは、HashMap 内のすべてのキーのセットを取得し、次に get() メソッドを使用して対応する値を取得することを意味します。これはシンプルで、小さなマップに適しています。

まず、製品の HashMap を作成します:

HashMap<String, Integer> inventory = new HashMap<>();
inventory.put("Laptop", 10);
inventory.put("Mouse", 50);
inventory.put("Keyboard", 30);

次に、keySet() を使用して反復します:

for (String product : inventory.keySet()) {
   int quantity = inventory.get(product);
   System.out.println("Product: " +
   product + ", Quantity: " + quantity);
}
// Product: Laptop, Quantity: 10
// Product: Mouse, Quantity: 50
// Product: Keyboard, Quantity: 30
challenge icon

チャレンジ

簡単

<strong>printInventoryKeySet</strong> という名前のメソッドを作成してください。このメソッドは、Scanner を介して読み込まれた JSON 文字列から HashMap(キーが商品名、値が数量)を受け取ります。メソッドは keySet() メソッドを使用して HashMap をイテレートし、各キー-値ペアを以下の形式で出力します:

Product: <product name>, Quantity: <quantity>

チートシート

keySet() を使用して HashMap のキーを反復し、get() を使用して対応する値を取得します:

HashMap<String, Integer> inventory = new HashMap<>();
inventory.put("Laptop", 10);
inventory.put("Mouse", 50);
inventory.put("Keyboard", 30);

for (String product : inventory.keySet()) {
   int quantity = inventory.get(product);
   System.out.println("Product: " + product + ", Quantity: " + quantity);
}

自分で試してみよう

import java.util.HashMap;
import java.util.Scanner;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;

public class Main {
    public static void printInventoryKeySet(HashMap<String, Integer> inventory) {
        // ここに keySet() を使用してコードを記述してください
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 在庫の HashMap を表す JSON 文字列の入力を読み取ります
        String inventoryString = scanner.nextLine();

        // JSON 文字列を HashMap<String, Integer> に変換します
        Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
        HashMap<String, Integer> inventory = new Gson().fromJson(inventoryString, mapType);

        printInventoryKeySet(inventory);
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックとフローのすべてのレッスン