EnumMap trong Java là gì?
30/12/2022 01:21
EnumMap trong Java là gì? EnumMap là một dạng bản đồ đặc biệt. Bản đồ trong Java là một giao diện lấy khóa (K) và giá trị (V).
EnumMap là gì?
EnumMap là một dạng bản đồ đặc biệt. Bản đồ trong Java là một giao diện lấy khóa (K) và giá trị (V).
Trong trường hợp của EnumMap, khóa là một enum.
Một EnumMap:
- Mở rộng AbstractMap.
- Thực hiện Map interface.
Cách tạo một enumMap
Để tạo một enumMap, chúng ta phải nhậpjava.util.EnumMap
public class JavaEnumMap {
enum Colour {
RED,
BLUE,
BLACK,
GREEN
}
}
Cách thêm một phần tử vào Enummap
Bạn có thể sử dụng phương thức put() để chèn các phần tử vào một enumMap.
public static void main(String[] args) {
EnumMap<Colour, Integer> colours = new EnumMap<Colour, Integer>(Colour.class);
colours.put(Colour.RED, 1);
colours.put(Colour.BLUE, 2);
colours.put(Colour.BLACK, 3);
colours.put(Colour.GREEN, 4);
}
Cách truy cập một phần tử trên Enummap
Để truy cập các phần tử của enumMap, bạn có thể sử dụng:
bộ chìa khoá()
Nó in tất cả các phím trên bản đồ
System.out.println("Printing all keys in the map " + colours.keySet());
Kết quả là:
Printing all keys in the map [RED, BLUE, BLACK, GREEN]
mụcSet()
Nó in các khóa và các giá trị trong bản đồ
System.out.println("Printing the keys and the values in the map " + colours.entrySet());
Kết quả là:
Printing the keys and the values in the map [RED=1, BLUE=2, BLACK=3, GREEN=4]
giá trị()
Nó in các giá trị trong bản đồ
System.out.println("Printing the values in the map " + colours.values());
Kết quả là:
Printing the values in the map [1, 2, 3, 4]
Cách truy xuất các phần tử từ một Enummap
Bạn có thể sử dụng phương thức get() để truy xuất các phần tử từ enumMap.
System.out.println("Retrieve the value from the enumMap " + colours.get(Colour.RED));
Kết quả là:
Retrieve the value from the enumMap: 1
Cách xóa các phần tử khỏi Enummap
Để xóa các phần tử khỏi enumMap, bạn có thể sử dụng:
xóa (phím)
Bạn sử dụng khóa của enumMap để xóa một phần tử khỏi enumMap
System.out.println("Removing the key: " + colours.remove(Colour.GREEN));
Kết quả là:
Removing the key: 4
The enumMap now has: {RED=1, BLUE=2}
xóa (khóa, giá trị)
Nếu nó tồn tại, nó sẽ loại bỏ phần tử khỏi enumMap và trả về một giá trị boolean.
System.out.println("Removing the key and the value from the enumMap: " + colours.remove(Colour.BLACK, 3));
Removing the key and the value from the enumMap: true
The enumMap now has: {RED=1, BLUE=2}
Kết quả là:
The enumMap now has: {RED=1, BLUE=2}
Cách thay thế một enumMap
thay thế (khóa, giá trị)
Nó thay thế giá trị cũ bằng một giá trị mới.
colours.replace(Colour.RED, 5);
System.out.println("The new enum now has: " + colours);
Kết quả là:
The new enum now has: {RED=5, BLUE=2}
thay thế (khóa, giá trị cũ, giá trị mới)
Phương pháp này chỉ thay thế giá trị cũ bằng một giá trị mới nếu giá trị cũ được liên kết với một khóa cụ thể.
colours.replace(Colour.BLUE, 2, 4);
System.out.println("The new enum now has: " + colours);
Kết quả là:
The new enum now has: {RED=5, BLUE=4}
thay thế tất cả()
Nó thay thế giá trị của từng phần tử bằng kết quả của hàm.
colours.replaceAll((key, oldValue) -> oldValue + 7);
System.out.println("EnumMap using replaceAll(): " + colours);
Kết quả là:
EnumMap using replaceAll(): {RED=12, BLUE=11}
Một vài lưu ý về enumMaps:
-
EnumMaps duy trì thứ tự tự nhiên của các khóa của chúng.
-
Chúng tôi không thể có khóa null .
-
Bên trong, enumMaps được biểu diễn dưới dạng mảng .
PHẦN KẾT LUẬN
Trong bài viết này, bạn đã học về enumMaps và các phương pháp của nó.
Tôi hy vọng bạn thấy bài viết này hữu ích.