Javaのストリームでコレクションをフィルタリングする方法は何ですか?
Javaでは、コレクションをフィルタリングするためにストリームを使用することができます。ストリームは、指定された条件に基づいてコレクションの要素をフィルタリングするfilter()メソッドを提供します。以下はサンプルコードです:
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
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(evenNumbers); // 输出 [2, 4, 6, 8, 10]
}
}
上記の例では、まず整数を含むリストを作成しました。次に、stream()メソッドを使用してそのリストをストリームに変換しました。その後、Lambda式を引数として渡すfilter()メソッドを使用して、偶数をフィルタリングしました。最後に、collect()メソッドを使用してフィルタリングされた要素を新しいリストに収集しました。
filter()メソッドを使用することで、カスタム条件に基づいて要件を満たす要素をフィルタリングできます。