เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การสร้าง 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");
        }
    }
}
แก้ไขและรันโค้ด