java8 数据分组的两种方式?

dongfangzhaoyue / 2023-05-11 / 原文

第一种: 使用partitioningBy 收集器

例子:Map<Boolean, List<Art>> = artist.stream.collect(partitioningBy(x-> x.isSolo()));

根据true, false 分类,满足条件的返回到true,不满足的返回到false

第二种:使用groupingBy分组

Map<String, List<Art>> = artist.stream.collect(groupingBy(x-> x.getMainMusician()));

根据其中属性值进行分类,类似于Mysql中的 group by