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チャレンジ
簡単printInventoryKeySetという名前のメソッドを作成してください。このメソッドは、Scannerで読み取ったJSON文字列から取得したHashMap(キーは商品名、値は数量)を受け取ります。メソッドではkeySet()メソッドを使ってHashMapを反復処理し、各キーと値のペアを次の形式で出力してください。
Product: <product name>, 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);
// inventory 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);
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ロジックとフローのすべてのレッスン
3HashMap 第2部
HashMap のメソッドkeySet() を使用したイテレーションentrySet() を使用したイテレーションネストした HashMap復習 - 倉庫管理復習 - HashMap 操作自分で練習してみよう: Javaオンラインコンパイラ