我可以按一个字段分组,但我想同时按两个字段分组
//persons grouped by gender
Map<String, Long> personsGroupedByGender = persons.stream().collect(Collectors.groupingBy(Person::getGender, Collectors.counting()));
//persons grouped by age
Map<Int, Long> personsGroupedByAge = persons.stream().collect(Collectors.groupingBy(Person::getAge, Collectors.counting()));
//persons grouped by gender and age
???
最佳答案
您可以分组两次,结果将如您所愿,但包装略有不同。
persons.stream().collect(Collectors.groupingBy(Person::getGender,
Collectors.groupingBy(Person::getAge, Collectors.counting())));
关于Java 流 : multiple grouping,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43901595/