Java8 Stream API讲解
时间: 2023-10-22 18:46:19 浏览: 54
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 可以更加简洁和高效地处理集合数据。
java 8 stream API常用的方法介绍并举出简单的代码例子讲解
Java 8 Stream API是一种用于处理集合数据的高级API,它提供了一种流式处理数据的方式,可以大大简化代码。常用的方法包括:
1. filter():过滤集合中的元素,只保留符合条件的元素。
例如,过滤出集合中大于等于5的元素:
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);
List<Integer> result = list.stream().filter(i -> i >= 5).collect(Collectors.toList());
2. map():将集合中的元素映射为另一种类型。
例如,将集合中的元素都乘以2:
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> result = list.stream().map(i -> i * 2).collect(Collectors.toList());
3. reduce():将集合中的元素归约为一个值。
例如,将集合中的元素相加:
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
int result = list.stream().reduce(0, (a, b) -> a + b);
以上是常用的几种方法,还有很多其他方法可以根据需要使用。