Java stream流 取值
时间: 2023-09-27 18:08:22 浏览: 176
Java Stream中取值有多种方法,例如:
1. forEach:遍历Stream中的每个元素,可以使用Lambda表达式或方法引用来处理每个元素。
2. toArray:将Stream中的元素转换为数组,可以使用Lambda表达式或方法引用来转换每个元素。
3. reduce:将Stream中的元素归约为一个值,可以使用Lambda表达式或方法引用来定义归约操作。
4. collect:将Stream中的元素收集到一个集合中,例如List、Set或Map等。
5. findFirst:获取Stream中的第一个元素。
6. findAny:获取Stream中的任意一个元素。
7. skip:跳过Stream中的前N个元素。
8. limit:只获取Stream中的前N个元素。
示例代码如下:
```java
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
// 遍历每个元素
list.stream().forEach(System.out::println);
// 转换为数组
Integer[] array = list.stream().toArray(Integer[]::new);
// 归约为一个值
int sum = list.stream().reduce(0, Integer::sum);
// 收集到List中
List<Integer> newList = list.stream().collect(Collectors.toList());
// 获取第一个元素
Optional<Integer> first = list.stream().findFirst();
// 获取任意一个元素
Optional<Integer> any = list.stream().findAny();
// 跳过前2个元素
List<Integer> skipList = list.stream().skip(2).collect(Collectors.toList());
// 只获取前3个元素
List<Integer> limitList = list.stream().limit(3).collect(Collectors.toList());
```
在上面的代码中,我们首先创建了一个List对象,然后使用Stream对象的不同方法对元素进行处理或取值。其中,forEach、toArray、reduce、collect、findFirst、findAny、skip和limit方法均可以取值。
阅读全文