JDK1.8ストリーム

JavaのAPI 8は、ストリームストリームと呼ばれる新しい抽象概念が追加されますが、宣言的な方法でデータを処理することができます。

ストリームは、Javaと集合演算の発現のための抽象度の高いを提供するために、データベースクエリデータからSQLステートメントを使用するには、同様の直感的な方法を使用しています。

このスタイル要素は、パイプライン送信の処理フローストリームの集まりとして見られることを、そしてこのようなフィルタリング、ソート、重合として、ノード導管で処理することができます。

前工程から得られた処理パイプライン中間作動(中間演算)に、そして最終的に最終的な操作(端末操作)によって結果エレメンタリストリーム

まず、ストリームを作成します

  1、Collectionインタフェースは、デフォルトストリームのメソッドを持っている、これは、我々は通常(list.streamを使用)、限り、インタフェースの実装クラスとしてストリームを作成するには、この方法で行くことができます

Lists.newArrayList()(ストリーム)。

  図2に示すように、ストリームの静的メソッド

// 1、ビルド方法によって作成

Stream.Builderビルダー= Stream.builder(); builder.accept( 1 ); builder.add( 2 ストリームビルド = builder.build()。
// 2、方法Stream.ofにより作成
// オーバーロードされたのは、一つには、可変パラメータを作成し、オブジェクトを受け入れるようにされ、2つのメソッドがあり受け入れるストリーム のストリームS1 = Stream.of(1。); ストリームS2 =ストリーム。 (1,2,3,4,5)の。
// 3、Stream.generateの静的メソッドを介してフローを作成します。これは、このメソッドは、ストリームの長さを制限するために、この関数を呼び出していない場合の制限、それは無制限を作成していきます、メソッドを呼び出して、無限の流れを作成することであることに注意することが重要です

//行動パラメーターが戻り値を持っている必要があり、ここで渡された、ある、行動その結果、作成されたオブジェクトです。
ストリーム生成 = Stream.generate(数学::ランダム).limit(10 ); ストリームG2。Stream.generate =(() - > Math.random())限界(10 )。
// 4、Stream.iterate反復を通る流れを作成するために、上記の流れは、この差は、関数が第二パラメータは最初のパラメータを計算に基づいており、最初のパラメータが基準値である、2つのパラメータを有することで、無制限です機能。以下のように自然数のシーケンスを生成する

反復は、本明細書、動作パラメータの第2の反復であろう//

 ストリーム限界= Stream.iterate(0、N  - > N +1).limit(10)。
 // 5、Stream.empty()空のフローを作成し
// 。6、Stream.concat(ARG1、ARG2)一つのストリームに二つの流れ

 

 

 

おすすめ

転載: www.cnblogs.com/Java-luan/p/11861935.html