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
Instrucciones del ejercicio
- Define un mapa
enumpara almacenar enstockByCategoryla cantidad de cadaProductCategory. - 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);
}
}