1. 程式人生 > 其它 >java List物件多欄位去重統計數量

java List物件多欄位去重統計數量

public class Test {

public static void main(String[] args) {
Product product1 = new Product("張三", "20", 3);
Product product2 = new Product("張三", "20", 3);
Product product3 = new Product("張三", "20", 3);
Product product4 = new Product("張三", "20", 3);
Product product5 = new Product("張三", "20", 3);

Product product = new Product("張三1", "22", 1);
Product product6 = new Product("張三2", "25", 1);
Product product7 = new Product("張三2", "24", 1);
Product product8 = new Product("張三1", "22", 1);
Product product9 = new Product("張三1", "22", 1);

List<Product> products = new ArrayList<>();
products.add(product1);
products.add(product2);
products.add(product3);
products.add(product4);
products.add(product5);
products.add(product);
products.add(product6);
products.add(product7);
products.add(product8);
products.add(product9);

Map<String, Map<String, List<Product>>> collect = products.stream().collect(Collectors.groupingBy(Product::getName,Collectors.groupingBy(Product::getAge)));
int size = collect.size();
int size1 = collect.values().size();
collect.values().forEach(m1 ->{
m1.values().forEach(m2 -> {
int size2 = m2.size();
for (Product product10 : m2) {
System.out.println(product10.getName()+product10.getAge()+product10.getNum()+"----"+size2);
}
});
});
}
}