stream 聚合高阶用法
时间: 2024-02-28 21:49:33 浏览: 114
集合Stream方法简单使用方法
Stream的聚合高阶用法可以通过使用一系列的操作方法来实现。下面是一个示例代码,演示了如何使用Stream进行聚合操作:
```java
import java.util.Arrays;
import java.util.List;
public class StreamAggregationExample {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// 使用filter方法筛选出偶数
List<Integer> evenNumbers = numbers.stream()
.filter(n -> n % 2 == 0)
.collect(Collectors.toList());
System.out.println("Even numbers: " + evenNumbers);
// 使用map方法将每个数值加倍
List<Integer> doubledNumbers = numbers.stream()
.map(n -> n * 2)
.collect(Collectors.toList());
System.out.println("Doubled numbers: " + doubledNumbers);
// 使用reduce方法计算所有数值的和
int sum = numbers.stream()
.reduce(0, (a, b) -> a + b);
System.out.println("Sum: " + sum);
}
}
```
这段代码首先创建了一个包含整数的列表。然后,通过使用`filter`方法筛选出偶数,使用`map`方法将每个数值加倍,使用`reduce`方法计算所有数值的和。最后,使用`collect`方法将结果收集到一个新的列表中。
运行上述代码将输出以下结果:
```
Even numbers: [2, 4, 6, 8, 10]
Doubled numbers: [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
Sum: 55
```
阅读全文