Bài học theo mô-đun (1/2)
Đặt và Bản đồ
Ngoài lớp ArrayList (đại diện cho danh sách các phần tử có thứ tự), Khung công tác bộ sưu tập Java còn cung cấp hai giao diện cơ bản khác: Set (cho các phần tử duy nhất) và Map (cho các liên kết khóa-giá trị).
Bộ: Bộ sưu tập các yếu tố độc đáo
Set là một bộ sưu tập không thể chứa các phần tử trùng lặp. Cách triển khai phổ biến nhất của nó là HashSet, dựa trên bảng băm nội bộ, đảm bảo hiệu suất tuyệt vời cho các hoạt động chèn, xóa và xác minh sự hiện diện.
import java.util.HashSet;
import java.util.Set;
Set<String> uniqueNames = new HashSet<>();
uniqueNames.add("Alice");
uniqueNames.add("Bob");
uniqueNames.add("Alice"); // This insertion will be ignored since "Alice" is already present
System.out.println(uniqueNames.size()); // Prints 2Bản đồ: Liên kết khóa-giá trị
Map ánh xạ khóa duy nhất tới giá trị. Nó không thể chứa các khóa trùng lặp: mỗi khóa được liên kết với nhiều nhất một giá trị. Cách triển khai tiêu chuẩn của nó là HashMap.
import java.util.HashMap;
import java.util.Map;
Map<String, Integer> ageMap = new HashMap<>();
// Insert or update key-value pairs
ageMap.put("Alice", 25);
ageMap.put("Bob", 30);
// Retrieve value by key
int aliceAge = ageMap.get("Alice"); // Returns 25
// Verify if a key or value exists
boolean hasBob = ageMap.containsKey("Bob"); // Returns trueLặp lại trên bản đồ
Để lặp lại các cặp khóa-giá trị, chúng ta có thể sử dụng vòng lặp for-each trên tập hợp các mục nhập (entrySet()) do bản đồ cung cấp.
for (Map.Entry<String, Integer> entry : ageMap.entrySet()) {
System.out.println(entry.getKey() + " is " + entry.getValue() + " years old.");
}Hãy tự mình thử
Hoàn thành mã bằng cách khai báo một HashSet gồm các chuỗi có tên là items. Thêm lại các phần tử 'apple', 'banana' và 'apple', sau đó in kích thước của tập hợp bằng System.out.println.
Hiển thị gợi ý
Hãy nhớ rằng các bản sao không được phép trong `Set` và `items.size()` sẽ trả về số lượng phần tử duy nhất thực tế được chèn vào.
Giải pháp khả dụng sau 3 lần thử
Hoàn thành mã bằng cách khai báo HashMap có tên là tuổi với các khóa Chuỗi và giá trị Số nguyên. Liên kết khóa 'Alice' với 25 và khóa 'Bob' với 30, sau đó truy xuất và in tuổi của Bob.
Hiển thị gợi ý
Sử dụng phương thức `put` để chèn các cặp và phương thức `get` để truy xuất các giá trị dựa trên khóa.
Giải pháp khả dụng sau 3 lần thử
Hoàn thành mã bằng cách kiểm tra xem bản đồ quốc gia có chứa khóa 'FR' hay không và in kết quả boolean.
Hiển thị gợi ý
Sử dụng phương thức `containsKey` trên đối tượng `countries` để kiểm tra sự hiện diện của khóa được yêu cầu.
Giải pháp khả dụng sau 3 lần thử