Aan de slagBegin gratis

Een categoriekoppeling bouwen

Je beheert de voorraad van je elektronicawinkel en je wilt de categorieën in je inventaris standaardiseren. Maak een categoriekoppeling om beter bij te houden welke producten je in de winkel hebt.

De benodigde packages, zoals EnumMap en HashMap, zijn al voor je geïmporteerd.

Deze oefening maakt deel uit van de cursus

Data opschonen in Java

Bekijk cursus

Oefeninstructies

  • Maak een enum met de naam ProductCategory.
  • Zoek een onbekende categorie op met de naam "Mystery category".
  • Maak een niet-wijzigbare map op basis van categoryMap.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

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");
        }
    }
}
Code bewerken en uitvoeren