Stream APIとは
Stream APIとは
コレクションを処理する
ArrayListの中身を順に単純に出力する例を考えます。従来のJava7までのコード
だと以下のようになります。
class Sample {
public static void main(String[] args) {
List lt;
Integer gt;
arry = new ArrayList<>();
arry.add(10);
arry.add(20);
arry.add(30);
arry.add(50);
for( int i : arry){
System.out.println(i);
}
}
このようにforループをコレクションの中身を逐次処理するコード書いていました。
StreamAPIを使うとコレクションに対して、System.out.println を順次実行せよ
実行するメソッドをSystem.out.printlnメソッド(関数)をStreamAPIにforEach
とううメソッドを引き渡す感覚になります。実際には以下のようなコードになります。
public static void main(String[] args) {
List lt;
Integer gt;
arry = new ArrayList<int>();
arry.add(540);
arry.add(20);
arry.add(30);
arry.add(490);
arry.stream().forEach(System.out::println);
}
このようにforループがなくなり、単純化されました。
forEachメソッドの中の記述は、先に記事に書いたメソッド参照というJava8で追加された構文になります。
このStreampAPIほかにも様々な事ができます。続きは次回。