การสร้าง category mapping
คุณกำลังจัดการสินค้าคงคลังของร้านอิเล็กทรอนิกส์ และต้องการทำให้หมวดหมู่สินค้าอิเล็กทรอนิกส์ในคลังเป็นมาตรฐานเดียวกัน ให้สร้าง category mapping เพื่อช่วยติดตามสินค้าในร้าน
แพ็กเกจที่จำเป็น เช่น EnumMap และ HashMap ถูก import มาให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การทำความสะอาดข้อมูลใน Java
คำแนะนำการฝึกหัด
- สร้าง
enumชื่อProductCategory - ค้นหาหมวดหมู่ที่ไม่รู้จักชื่อ
"Mystery category" - สร้าง map ที่แก้ไขไม่ได้โดยใช้
categoryMap
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
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");
}
}
}