Javaの高度なチュートリアル:ストリームAPI
ストリームは有効です
まず明確にする、ストリームの流れとIOバッグのInputStreamは、OutputStreamのは完全に異なる概念です!これは、Java 8で導入された新機能で、ストリームは、効率的で便利なコレクション要素の集計操作を行うことができます!
重合は、それをどのようなものですか?
情報科学で重合された人々が望む結果を得る最終的には、コンテンツの選択に関連するデータ、分析、分類、分析を指し、主にデータ変換処理の配列からスカラー値を生成することが可能な任意のデバイスを指し、 [1] 。近年では、大規模なデータ集約技術の開発と普及、テキスト解析、情報セキュリティ、ネットワーク伝送や他の分野で使用されてきました。 - "Baiduの百科事典"
実際には、私たちが理解するためにここにいる、ストリームは、コレクションの要素をフィルタリングすることができ、我々は特定のデータを返すようにしたいです。
ない反復子
スクリーニングストリームは、一方通行であること、スクリーニングするので、非可逆、データは、水だけがなくなって、フロントから流れるように、疲れたら横断した後、いったんトラバースすることができます。これは非常にある私たちのイテレータに似て!そして、イテレータとの違いは、あるパラレル、唯一不可欠イテレータ、シリアル化操作でストリーム操作。名前が示唆するように、場合シリアルモードが横断し、その後次の項目を読み取るために各項目を読み出します。使用横断するように平行に、データは別のスレッドで処理され、その後、一緒に結果を出力するそれぞれが複数のセグメントに分割されます。
ストリーム組成
我々は時間の流れを使用する場合は、通常の3つの基本的な手順で構成されています。
→データソース(源)を取得します
データ変換→
→所望の結果を得るための操作を行います
ストリームごとの変換元のオブジェクトをすることを可能にする、新しいストリームオブジェクト戻る(複数の変換があってもよい)、変化しないチェーンが導管に、その操作に配置されたものと同じです。このような次の図のように:
ストリームの作成
パッケージを案内することに注意を払う必要があります 。java.util.stream.Streamをインポートし、その後の配列を、フローを設定するように構成することができます!
文字列[] ARR =新しいString [] { ""、 "B"、 "C"、 "D"}。 一覧<文字列>リスト=新しいArrayListを<>(は、Arrays.asList(ARR)); //构造流 ストリームstream = Stream.of(リスト); ストリームSTREAM1 = Arrays.stream(ARR)。 ストリームSTREAM2 = list.stream()。 //数值流的构造 IntStream.of(1,2,3).forEach(System.outに::のprintln)。 IntStream.range(1,3).forEach(のSystem.out ::のprintln)。