Menu
CoddyTech

Duyệt bằng entrySet()

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 18 trên 59.

Lặp qua entrySet() nghĩa là lấy một tập hợp các đối tượng Map.Entry từ HashMap. Mỗi Map.Entry cung cấp cả khóa lẫn giá trị tương ứng, giúp cách này hiệu quả hơn vì không cần tra cứu thêm như khi dùng keySet().

Tạo một HashMap:

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

Lặp qua bằng entrySet():

for (Map.Entry<String, Integer> entry : inventory.entrySet()) {
   System.out.println("Product: " +
   entry.getKey() + ", Quantity: " +
   entry.getValue());
}
// 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 có tên printInventoryEntrySet nhận một HashMap (với tên sản phẩm làm khóa và số lượng làm giá trị) 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 entrySet() và in ra từng cặp khóa-giá trị theo định dạng:

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

Tự làm thử

import java.util.HashMap;
import java.util.Map;
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 printInventoryEntrySet(HashMap<String, Integer> inventory) {
        // Viết code của bạn ở đây bằng entrySet()
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        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);

        printInventoryEntrySet(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