Javaのstream().filterメソッドの使い方は何ですか?
Javaにおいて、stream().filter()はストリーム内の要素をフィルタリングするメソッドです。これは、述語(Predicate)をパラメーターとして受け取り、ストリーム内の各要素に述語を適用してその要素を保持するかどうかを決定します。
stream().filter()メソッドを使用すると、特定の条件に一致する要素を選択して新しいストリームを返すことができます。要素が新しいストリームに残るのは、述語がtrueを返す場合だけです。例:
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(evenNumbers); // 输出: [2, 4, 6, 8, 10]
上記のコードでは、filter()メソッドを使用してnumbersストリームから偶数を選別し、最終的に結果を新しいリストに収集します。述語n -> n % 2 == 0は偶数かどうかを判断します。
filter()メソッドは、map()やreduce()などの他のストリーム操作メソッドと組み合わせて、より複雑なデータ処理を行うために使用できます。これはJava 8で導入されたStream APIの中でよく使用されるメソッドで、コードを簡素化し、可読性を向上させることができます。