Stream APIとは

Java8で追加された新規機能のうち、今回はStream APIの基本について紹介します。

StreamAPIとは、ファイル入力用のInputStream/OutputStreamのStreamでは無く

コレクションを操作するために新しく追加された機能です。

これらの機能は、RubyやScalaなど他の言語では既にある関数型プログラミングの

考え方です。関数型プログラミングの考え方がJavaに導入されてたも言えます。

もっとも簡単なサンプルを見てみましょう

コレクションを処理する

ArrayListの中身を順に単純に出力する例を考えます。従来のJava7までのコード

だと以下のようになります。

このようにforループをコレクションの中身を逐次処理するコード書いていました。

StreamAPIを使うとコレクションに対して、System.out.println を順次実行せよ

実行するメソッドをSystem.out.printlnメソッド(関数)をStreamAPIにforEach

とううメソッドを引き渡す感覚になります。実際には以下のようなコードになります。

このようにforループがなくなり、単純化されました。

forEachメソッドの中の記述は、先に記事に書いたメソッド参照というJava8で追加された構文になります。

このStreampAPIほかにも様々な事ができます。続きは次回。