Xây dựng ánh xạ danh mục
Bạn đang quản lý hàng tồn kho cho cửa hàng điện tử và cần chuẩn hóa các danh mục sản phẩm điện tử trong kho. Hãy tạo một ánh xạ danh mục để giúp bạn theo dõi các sản phẩm trong cửa hàng.
Các gói cần thiết như EnumMap và HashMap đã được nhập sẵn cho bạn.
Bài tập này là một phần của khóa học
Làm sạch dữ liệu bằng Java
Hướng dẫn bài tập
- Tạo một
enumtên làProductCategory. - Tra cứu một danh mục không xác định tên
"Mystery category". - Tạo một map không thể chỉnh sửa (unmodifiable) từ
categoryMap.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
public class ElectronicsCategoryExample {
// Create an enum called ProductCategory
public ____ ____ {
ELECTRONICS,
HOME_APPLIANCES,
UNCATEGORIZED;
}
public static void main(String[] args) {
Map categoryMap = new HashMap<>();
categoryMap.put("Home Appliances", ProductCategory.HOME_APPLIANCES);
categoryMap.put("home appliances", ProductCategory.HOME_APPLIANCES);
categoryMap.put("HomeAppliances", ProductCategory.HOME_APPLIANCES);
categoryMap.put("Electronics", ProductCategory.ELECTRONICS);
categoryMap.put("electronics", ProductCategory.ELECTRONICS);
categoryMap.put("Electronic", ProductCategory.ELECTRONICS);
System.out.println("Electronics category:");
System.out.println(categoryMap.get("Electronics"));
// Look up an unknown category
ProductCategory unknownCategory = ____.____(
"Mystery category", ProductCategory.UNCATEGORIZED);
System.out.println("\nMystery category:");
System.out.println(unknownCategory);
// Create an unmodifiable map
Map immutableMap = ____.____(categoryMap);
System.out.println("\nAttempting to modify immutable map:");
try {
immutableMap.put("new", ProductCategory.ELECTRONICS);
} catch (UnsupportedOperationException e) {
System.out.println("Cannot modify immutable map");
}
}
}