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);
}
});
});
}
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM