java
1Map<String, Long> countByDept = employees.stream()2 .collect(Collectors.groupingBy(3 Employee::getDept,4 Collectors.counting()5 ));67countByDept.forEach((dept, count) ->8 System.out.println(dept + " -> " + count));关键点说明
- groupingBy 的第一个参数是分类函数,决定了 Map 的键。
- 第二个参数是下游收集器,这里用 counting 统计每组数量。