Inizia subitoInizia gratis

Raggruppare per categorie standardizzate

Ora che hai standardizzato le categorie dell'inventario di elettronica, vuoi calcolare la quantità per ciascuna categoria. Unisci le quantità in somme per categoria.

Questo esercizio fa parte del corso

Pulizia dei dati in Java

Visualizza corso

Istruzioni dell'esercizio

  • Definisci una mappa enum per memorizzare in stockByCategory la quantità di ogni ProductCategory.
  • Unisci le quantità in somme per categoria in stockByCategory.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

public class ElectronicsCategoryExample {
    public enum ProductCategory {
        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);
        
        Map rawData = Map.of(
                "Home Appliances", 50,
                "home appliances", 25,
                "HomeAppliances", 15,
                "Electronics", 30,
                "electronics", 20,
                "Electronic", 10);

        // Define an enum map to store the quantity of each ProductCategory
        Map stockByCategory = new ____<>(____.class);

        // Merge the quantities into category sums
        rawData.forEach((raw, quantity) -> ____.____(categoryMap.get(raw), quantity, Integer::sum));

		System.out.println("Stock by category:");
        System.out.println(stockByCategory);
    }
}
Modifica ed esegui il codice