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
Istruzioni dell'esercizio
- Definisci una mappa
enumper memorizzare instockByCategoryla quantità di ogniProductCategory. - 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);
}
}