Java8 Stream API讲解
时间: 2023-10-22 13:46:19 浏览: 126
Java 8 中的 Stream API 提供了许多有用的方法来处理集合数据。常见的 API 包括:
- filter():过滤元素
- map():将元素映射成另一种元素
- limit():限制流中元素的数量
- sorted():按照顺序对元素进行排序
- forEach():对流中的每个元素进行操作
- collect():将流转换为集合或其他容器
- reduce():对流中的元素进行归纳操作
这只是 Stream API 中的一些常用方法,还有许多其他有用的方法可供使用。
相关问题
Java8 Stream API讲解和实例
当我们需要对集合进行高效的操作时,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 可以更加简洁和高效地处理集合数据。
阅读全文