Java 8 中中间操作和终止操作的区别
Stream 在 Java 8 中引入,它仅用于处理数据组,而不是用于存储元素。它不修改实际的集合,它们仅根据流水线方法提供结果。
Stream API 支持多种操作,操作分为两部分:
- 中间操作 - 这些操作用于将其他方法串联起来并转换为其他流。它们不会产生结果,因为这些操作在终止操作执行之前不会被调用。以下是示例:
- sorted(Comparator<T>)
- peek(Consumer<T>)
- distinct()
- 终止操作 - 这些操作用于生成结果。它们不能用于链接其他方法。以下是示例:
- forEach
- count
- toArray
| 序号 | 关键字 | 中间操作 | 终止操作 |
|---|---|---|---|
| 1 | 基础 | 这些操作用于将其他方法串联起来并转换为其他流 | Java 中的终止操作是在流上作为最后一步应用的方法。 |
| 2 | 返回类型 | 它们只返回另一个流。 | 它们返回最终结果。 |
| 3 | 方法 | sorted(Comparator<T>) peek(Consumer<T>) distinct() | forEach count toArray |
| 4. | 用例 | 这些操作应用于将流转换为另一个流 | 它们可用于生成结果。 |
中间操作和终止操作示例
public class Main {
public static void main(String args[]) throws InterruptedException, ExecutionException {
List<String> laptopList = new ArrayList();
laptopList.add("DELL");
laptopList.add("ACER");
laptopList.add("HCL");
// Intermediate operation
laptopList.sort((p1, p2) -> p1.compareTo(p2));
// Terminal Operation
laptopList.forEach(a -> {
System.out.println(a);
});
}
}
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP