用 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 的方法,该方法接收一个 HashMap(键是产品名称,值是数量)。这个 HashMap 来自通过 Scanner 读取的 JSON 字符串。你的方法应使用 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);
// 读取表示库存 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);
}
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: Java 在线编译器