Stream は Java 8 で導入され、データのセットを処理するためにのみ使用され、要素を並べ替えるためには使用されません。実際のコレクションは変更されず、パイプライン方式に従って結果が提供されるだけです。
ストリーム API は複数の操作をサポートしており、次の 2 つの部分に分かれています。
- 中間操作 - これらの操作は、他のメソッドをパイプし、他のストリームに変換するために使用されます。これらの操作は終了操作が実行されるまで呼び出されないため、結果は生成されません。以下に例を示します。
- sorted(Comparator)
- peek(Consumer)
- distinct()
- ターミナル操作 - これら結果を生成するために使用される操作。他のメソッドを連鎖させるために使用することはできません。例を次に示します。
#forEach- count
- toArray
-
シリアル番号 | キーワード | 中間操作 | ターミナル操作 |
#1 | 基本操作 | これらの操作は、他のメソッドをパイプし、他のストリームに変換するために使用されます。 | Java のターミナル操作は、オブジェクトに適用される最後のステップのメソッドです。ストリーム 。 |
#2
戻り値の型 |
別のフローを返すだけです。 |
最終結果を返します。 |
|
3
メソッド |
sorted(Comparator ) |
peek(Consumer) distinct()
##forEach
| counttoArray
##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);
});
}
}
ログイン後にコピー
以上がJava 8 における中間操作と端末操作の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。