Menu
CoddyTech

Duyệt bằng keySet()

Thuộc phần Logic và luồng chương trình trong hành trình Java của Coddy. Bài học 17 trên 59.

Lặp qua keySet() nghĩa là bạn lấy một tập hợp gồm tất cả các khóa trong HashMap, rồi dùng phương thức get() để lấy các giá trị tương ứng. Cách này đơn giản và hiệu quả với các từ điển nhỏ.

Đầu tiên, tạo một HashMap chứa các sản phẩm:

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

Bây giờ, hãy lặp qua bằng 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

Thử thách

Dễ

Tạo một phương thức tên là printInventoryKeySet nhận một HashMap (trong đó khóa là tên sản phẩm và giá trị là số lượng) từ một chuỗi JSON được đọc bằng Scanner. Phương thức của bạn cần lặp qua HashMap bằng phương thức keySet() và in ra từng cặp khóa và giá trị theo định dạng:

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

Tự làm thử

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) {
        // Viết code của bạn ở đây bằng keySet()
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // Đọc chuỗi JSON đầu vào biểu diễn HashMap inventory
        String inventoryString = scanner.nextLine();

        // Chuyển chuỗi JSON thành HashMap<String, Integer>
        Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
        HashMap<String, Integer> inventory = new Gson().fromJson(inventoryString, mapType);

        printInventoryKeySet(inventory);
    }
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch Java online