EmpezarEmpieza gratis

Agrupación por categorías estandarizadas

Ahora que has estandarizado las categorías de tu inventario de electrónica, quieres calcular la cantidad de cada categoría. Fusiona las cantidades en sumas por categoría.

Este ejercicio forma parte del curso

Limpieza de datos en Java

Ver curso

Instrucciones del ejercicio

  • Define un mapa enum para almacenar en stockByCategory la cantidad de cada ProductCategory.
  • Fusiona las cantidades en sumas por categoría en stockByCategory.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

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);
    }
}
Editar y ejecutar código