Grupare după categorii standardizate
Acum că ai standardizat categoriile din inventarul de electronice, vrei să calculezi cantitatea corespunzătoare fiecărei categorii. Combină cantitățile în sume pe categorii.
Acest exercițiu face parte din cursul
Curățarea datelor în Java
Instrucțiuni pentru exercițiu
- Definește un map de tip
enumpentru a stoca cantitatea fiecăreiProductCategoryînstockByCategory. - Combină cantitățile în sume pe categorii în
stockByCategory.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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);
}
}