之前如果说你有一个列表需要对其进行多字段的分组
通常方法是去嵌套这个stream()流嵌套循环查询(即先groupby一个字段再去groupby下个字段foreach)
这样就很麻烦
然后我在stackoverflow上面看到有个老哥用了一个
apache.commons.lang3
自带的Pair<L, R>类
两个的分组这样写就行
Map<Pair<String, String>, Long> map = list.stream().collect(Collectors.groupingBy(p -> Pair.of(p.getFdClassName(), p.getFdParamName()), Collectors.counting()));
然后一行就能解决两个字段分组的数据
不过不知道3个的话要怎么分组,然而我觉得如果是3的话那这个需求就有问题了,因为复杂度很高。