Java8シリーズ-Javaストリームの概要(ストリーム操作)

1ストリームインターフェイス

1.1インターフェースの状況

次の図に示すように、java.util.streamインターフェイスには、DoubleStream、LongStream、IntStream、およびStreamの4つのインターフェイスがあります。
ストリーム

1.2ストリームの分類と使用

その中で、Streamインターフェイスは多くのメソッドを定義します。これらは大きく2つのカテゴリに分類できます

  • 中級オペレーションクラス
  • ターミナル操作

一般的に、ストリームの使用は次の3つに要約できます。

  • クエリを実行するためのデータソース
  • パイプラインのストリームを形成する中間操作チェーン
  • ターミナル操作、パイプラインの実行、および結果の生成

1.3構造図

liucaozuo

2中間操作

中間操作クラスが返すのは別のストリームです。つまり、その戻り値のタイプはStreamです。
たとえば、フィルタまたはソートされたメソッドを接続してクエリ操作を形成できます。ただし、パイプラインで端末操作がトリガーされない限り、処理は実行されません。
つまり、中間操作は、さまざまな操作を順次組み合わせたものであり、操作の対象はストリームであり、生成されるオブジェクトもさまざまなストリームであり、最終的な操作結果は、端末操作後にのみ表示できます。
フローの中間操作には、多くの場合、次のタイプがあります。

オペレーティング の種類 リターンタイプ 動作パラメータ 関数記述子
フィルタ 中間操作 ストリームT 述語T T->ブール値
地図 中間操作 ストリームR 関数T、R T-> R
制限 中間操作 ストリームT    
ソート済み 中間操作 ストリームT コンパレータT (T、T)-> int
明確な 中間操作 ストリームT    

3端末操作

ストリームの最終操作は、ストリームのパイプラインから結果を生成し、その結果は、リスト、整数、さらにはvoidなど、ストリームではない任意の値になります。
一般的に使用されるストリームの端末操作

オペレーティング の種類 目的
forEach ターミナル操作 ストリーム内のすべての要素を消費し、それにラムダを適用します。この操作はvoidを返します
カウント ターミナル操作 ストリーム内の要素の数を返します。この操作は長く戻ります
収集する ターミナル操作 ストリームをリスト、マップ、さらにはIなどのセットに減らします

おすすめ

転載: blog.csdn.net/xulong5000/article/details/108052169