java Collectors.groupingBy()
时间: 2023-11-01 19:56:43 浏览: 83
深入探索Java 8的`Collectors.groupingBy()`:分组的艺术
java Collectors.groupingBy()是一个用于对流中的元素进行分组操作的收集器。它接受一个分类函数作为参数,并将流中的元素按照分类函数的结果进行分组。在给定的分类函数中,可以使用对象的任何属性或方法来进行分组。
使用Collectors.groupingBy()方法,可以将流中的元素按照指定属性进行分组,并将相同属性值的元素放在同一个组中。该方法返回一个Map对象,其中键是分组的属性值,值是属于该组的元素列表。
例如,如果有一个名为prodList的Product对象列表,每个Product对象都有一个名为category的属性,可以使用Collectors.groupingBy(Product::getCategory)对该列表进行分组操作。返回的结果是一个Map对象,其中键是不同的category属性值,值是该category对应的Product对象列表。
另外,可以通过在Collectors.groupingBy()方法中传递另一个收集器作为第二个参数,来对每个分组后的元素进行进一步的操作。例如,使用Collectors.counting()作为第二个参数,可以计算每个分组中元素的数量。
综上所述,java Collectors.groupingBy()方法是一个非常有用的功能,它可以帮助我们轻松地对流中的元素进行分组操作,并进行进一步的统计或处理。
阅读全文