Java8 Stream API讲解和实例
时间: 2024-04-10 21:31:58 浏览: 143
Java8新特性Stream流实例详解
5星 · 资源好评率100%
当我们需要对集合进行高效的操作时,Java 8 的 Stream API 提供了便捷且功能强大的方式。下面是一个简单的例子,展示了如何使用 Stream API 进行过滤、映射和归约操作:
```java
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// 过滤操作:筛选偶数
List<Integer> evenNumbers = numbers.stream()
.filter(n -> n % 2 == 0)
.collect(Collectors.toList());
System.out.println("偶数列表:" + evenNumbers);
// 映射操作:将每个数值加倍
List<Integer> doubledNumbers = numbers.stream()
.map(n -> n * 2)
.collect(Collectors.toList());
System.out.println("加倍后的列表:" + doubledNumbers);
// 归约操作:计算所有数值的和
int sum = numbers.stream()
.reduce(0, Integer::sum);
System.out.println("数值的和:" + sum);
}
}
```
上述代码中,我们首先创建了一个整数列表 `numbers`。然后,使用 Stream API 进行链式操作:
1. 使用 `filter()` 方法筛选出偶数,得到一个新的流。
2. 使用 `map()` 方法将每个数值加倍,得到一个新的流。
3. 使用 `collect()` 方法将流中的元素收集到一个列表中。
4. 使用 `reduce()` 方法对流中的元素进行归约操作,计算出所有数值的和。
以上只是 Stream API 的一些常见操作,还有许多其他方法可供使用,如排序、查找、分组等。使用 Stream API 可以更加简洁和高效地处理集合数据。
阅读全文