list stream对数据进行范围分组
时间: 2024-09-24 14:11:16 浏览: 31
JAVA8 stream中三个参数的reduce方法对List进行分组统计操作
5星 · 资源好评率100%
List Stream是Java 8引入的一种高级流处理API,它允许你在集合上进行各种操作,包括对数据的范围分组。范围分组通常是指基于某个条件将元素分成一组一组的,比如按照特定的规则、时间间隔或者其他函数的结果。在Stream API中,你可以使用`collect()`方法配合`Collectors.groupingBy()`方法来进行范围分组。
例如,假设你有一个Person列表,你想按年龄区间将其分组,可以这样做:
```java
List<Person> people = ...; // 假设这里有一份Person列表
Map<Integer, List<Person>> ageGroups = people.stream()
.collect(Collectors.groupingBy(Person::getAge, Collectors.toList()));
```
在这个例子中,`groupingBy()`接受两个参数:一个函数用于确定每个元素应该归入哪一组(这里是`Person::getAge`获取人的年龄),另一个是收集器(这里是`Collectors.toList()`,把同组的元素收集到一个List中)。
阅读全文