stream Collectors.groupingBy多个字段分组
时间: 2023-11-16 09:58:23 浏览: 189
Java8 stream 中利用 groupingBy 进行多字段分组求和案例
5星 · 资源好评率100%
stream Collectors.groupingBy多个字段分组是一种Java 8中的流式编程技术,它可以将一个集合按照多个字段进行分组。在这个过程中,我们可以使用Collectors.groupingBy方法来实现多个字段的分组。具体来说,我们可以使用lambda表达式或方法引用来指定分组的字段,然后使用Collectors.groupingBy方法将集合按照这些字段进行分组。例如,我们可以使用以下代码将一个User对象集合按照年龄和性别进行分组:
List<User> userList = new ArrayList<>();
Map<String, List<User>> ageGroupMap = userList.stream().collect(Collectors.groupingBy(x -> x.getAge() + "#" + x.getSex()));
在这个例子中,我们使用lambda表达式指定了分组的字段,即年龄和性别。然后,我们使用Collectors.groupingBy方法将集合按照这些字段进行分组,并将结果存储在一个Map对象中。最终,我们可以通过Map对象来访问分组后的数据。
阅读全文