Java8の中間操作

Java8の中間操作とは、peekなどのメソッドで、終端操作を実行して初めて評価されるメソッドのことです。

以下はcount()という終端操作があるかないかだけの違いの例です。

import java.util.Arrays;
import java.util.List;

public class Sample {
public static void main(String[] args) {
List<Integer> list = Arrays.asList(3,2,8,4,1);
list.stream().filter(i -> i > 3).peek(x -> System.out.println(x));
}
}

結果は何も標準出力されません。

count()メソッドを付けます。

import java.util.Arrays;
import java.util.List;

public class Sample {
public static void main(String[] args) {
List<Integer> list = Arrays.asList(3,2,8,4,1);
list.stream().filter(i -> i > 3).peek(x -> System.out.println(x)).count();
}
}

結果は以下のようになります。

8
4

このように中間操作は終端操作があって初めて評価されるため、peekのようなメソッドはデバッグなどの目的で使用されることが多いようです。

スポンサーリンク
  • このエントリーをはてなブックマークに追加
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA