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