Javaで特定の値をフィルタリングするには、stream().filterを使う方法は何ですか?

Javaでは、特定の値をフィルタリングするためにStreamのfilter()メソッドを使用することができます。filter()メソッドはPredicateパラメータを受け入れます、そのパラメータは要素がフィルタ条件を満たしているかどうかを判断するための関数インタフェースです。以下はstream().filter()メソッドを使用して特定の値をフィルタリングする例です:

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class FilterExample {
    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

        // 过滤出偶数
        List<Integer> evenNumbers = numbers.stream()
                .filter(n -> n % 2 == 0)
                .collect(Collectors.toList());
        System.out.println("Even numbers: " + evenNumbers);

        // 过滤出大于5的数
        List<Integer> greaterThanFive = numbers.stream()
                .filter(n -> n > 5)
                .collect(Collectors.toList());
        System.out.println("Numbers greater than 5: " + greaterThanFive);
    }
}

結果は出力されました。

Even numbers: [2, 4, 6, 8, 10]
Numbers greater than 5: [6, 7, 8, 9, 10]

例えば、filter()メソッドを使用して偶数と5より大きい数をフィルタリングしました。filter()メソッドにラムダ式を渡して、要素がフィルター条件を満たしているかどうかを判断するPredicate関数インターフェースが使われています。最後に、collect()メソッドを使用してフィルタリングされた結果を新しいリストに収集しました。

bannerAds