Udemyの人気コースが今なら80%OFF!

【Java入門】StreamAPI フィルタリング操作(filterメソッドの使い方)

【Java入門】StreamAPI フィルタリング操作(filterメソッドの使い方)

filterメソッドとは

filterメソッドは中間操作の一つで、ストリーム要素の中から条件に合致するのものを取得する操作です。

サンプルコード

以下の処理は、1~5の要素の中で、2で割ったあまりが0の要素を表示します。

Java

public static void main(String args[]){
    IntStream.rangeClosed(1,5)
    .filter(n -> n % 2 == 0)
    .forEach(System.out::println);
}

実行結果

2
4

filterメソッドで任意の処理を実行する

filterメソッドでは、関数型インターフェースのPredicate<T>を用いることにより、任意の処理を実行することが可能です。

サンプルコード

Java

//List生成
List<Integer> list = Arrays.asList(7, 10, 12, 9, 31);

//filterのメイン処理
Predicate<Integer> p = n -> {
    System.out.print("これから" + n + "を判定します。");
    boolean result = n > 10;
    System.out.println("判定結果は" + result + "です。");
    return result;
};

//ListをStream化し、filterを実行。
list.stream()
    .filter(p)
    .forEach(System.out::println);

実行結果

これから7を判定します。判定結果はfalseです。
これから10を判定します。判定結果はfalseです。
これから12を判定します。判定結果はtrueです。
12
これから9を判定します。判定結果はfalseです。
これから31を判定します。判定結果はtrueです。
31

コメントを残す

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