-
単一のフィルター式を使用する方法:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6); List<Integer> filteredNumbers = numbers.stream() .filter(n -> n > 2 && n < 5) // 複数の条件を組み合わせる .collect(Collectors.toList()); System.out.println(filteredNumbers); // 出力: [3, 4]
-
複数のフィルターメソッドを使用する方法:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6); List<Integer> filteredNumbers = numbers.stream() .filter(n -> n > 2) .filter(n -> n < 5) // 別々のフィルターメソッドを使用する .collect(Collectors.toList()); System.out.println(filteredNumbers); // 出力: [3, 4]
-
Predicateを使用する方法:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6); Predicate<Integer> greaterThan2 = n -> n > 2; Predicate<Integer> lessThan5 = n -> n < 5; List<Integer> filteredNumbers = numbers.stream() .filter(greaterThan2.and(lessThan5)) // Predicateを使用して条件を組み合わせる .collect(Collectors.toList()); System.out.println(filteredNumbers); // 出力: [3, 4]
これらの例では、filter
メソッドを使用して要素をフィルタリングし、条件を組み合わせています。複数の条件を組み合わせるために、論理演算子(&&
など)を使用するか、複数のfilter
メソッドをチェーンするか、Predicate
を使用して条件を組み合わせることができます。