Java8 4つのコア機能インタフェース
カスタマー<T>:消費者インタフェースvoid受け入れる(TのT);
サプライヤー<T>:TGらヘキシル用インタフェース();
機能<T、R>:機能インターフェイスRは、(T tを)適用します。
述語<T>インターフェイスは(決定)ブールテスト(T tを)がアサート。
まず、基準方法:コンテンツラムダ本体が方法が存在達成されている場合、我々は「標準法」(メソッドとして理解は、ラムダ式の別の形態と同じである)ことができます
{3メインがあります。
オブジェクト:インスタンスメソッド名
カテゴリー:静的メソッド名
クラス:インスタンスメソッドの名前
}
注意:
図1に示すように、メソッド呼び出しのパラメータリストラムダ本体とパラメータリスト及び抽象メソッドと機能のタイプを返す一貫したインターフェース型を返します
図2に示すように、方法の第1のパラメータラムダパラメータリストの例は、呼び出し元であり、第2のパラメータは、メソッドのパラメータの例を使用することができる場合クラス名である場合:方法
第二に、参照コンストラクタ
コンストラクタのパラメータリストを呼び出し、関数のパラメータリストが矛盾しているために、
クラス名::新しいフォーマット
引用された3つの配列の種類::新しいです
StreamAPI
どのような流れ(ストリーム)であります
データチャネル、ソースによって生成された操作要素の配列データです。
データの収集について話す、それがストレスの流れを計算することです
注意:ストリームは、記憶素子を所有していない、ストリームは、彼らは、ストリームの流れの新しい保持の結果を返します代わりにソースオブジェクトを変更しない、ストリーム操作は、彼らがの実装の結果まで待機する必要があります。つまり、実行を遅らせています
ストリームフローミドルウェア
マルチミドルウェア動作が終了が組立ライン操作でトリガされていない限り、パイプラインを形成するために一緒に接続することができ、または操作は、任意の中間処理を行わない:操作が一旦終了すると、すべての処理が「不活性ジョブ」と呼ばれます。
スライスとスクリーニング
方法:
ラムダ、排出ストリームから特定の要素を受信フィルタ(述語p)
DISTINCT()ブラシオプションは、ハッシュコード()とequals()は、特定の反復エレメントを除去することによって生成されたストリーム
エレメントが所定の数を超えないように制限(長いmaxSizeの)は、流れを遮断しました
以下の流れは、空の要素を返す場合、リターン流れが最初のいくつかの要素を投げる、要素をスキップ(長n)をスキップ
マッピング
方法:
マップ(関数F):引数として受信機能、機能は、新たな要素を転送するためにマッピングされた各要素に適用されます
mapToDouble(ToDoubleFunctionのF):jは、パラメータ関数として受け付け、機能が新しいDoubleStreamを生成し、各要素に適用されます
mapToInt(ToIntFunctionのF):引数として受信機能、機能は新しいIntStreamを生成するために、上記の各要素に適用されます
maoToLong(ToLonFunctionのF):関数は、パラメータとして受け付け、機能は新しいLongStreamを生成するために、各要素に適用されます
flatmap(関数F):関数がパラメータとして受け入れ、各ストリームの値は別のストリームによって置換され、そしてすべてのストリームが一つのストリームに接続されています。
シーケンス
方法:
ソート():自然順序に従ってソートされた新たなストリームを生成します
ソート(コンパレータCOP):比較の順にソートされた新しいストリームを生成し、
マッチを探します
alllMath(PredictateのP):すべての要素が一致していることを確認してください
anyMatch(PredictateのP):マッチ少なくとも一つの要素かどうかをチェックします
noneMatch(predictateのP):すべての要素の一致がないか確認してください
関数は、FindFirst():最初の要素を返します
findAny():任意の要素を返します
削減
(Tアイデンティティ、BinaryOpeartor)を低減繰り返しストリーム要素は値を与えるために結合します
集まります
収集 - インターフェイスの他の形態のためのコレクタにストリームを受信し、ストリームの集約を行うため。
操作の流れ終了
端末は、パイプラインからの流れを生成し、これは流れていない任意の値であってもよいです
パラレルおよびシリアル流れ
フォーク/フレームワークに参加(仕事スチールモード)