Java 8 の Stream API: filter() メソッドを使用してコレクション内の要素をフィルターする方法
はじめに:
Java 8 では、より簡潔な方法を提供する Stream API を導入しました。コレクションを処理する、より効率的な方法です。 Stream は Java 8 によって提供される新しい抽象化レイヤーで、関数型プログラミングの方法でさまざまなデータを処理できるようになります。 Stream API では、filter() メソッドは、コレクション内の要素をフィルタリングするために使用できる非常に便利なメソッドの 1 つです。この記事では、filter() メソッドを詳しく見て、その使用法と例を見ていきます。
1. filter() メソッドとは
filter() メソッドは、Stream API の中間操作メソッドです。これは、コレクション内の要素をフィルター処理するために使用される Predicate 関数インターフェイスをパラメーターとして受け取ります。 Predicate インターフェイスは test(T t) メソッドを定義します。このメソッドは、指定されたパラメーターを条件付きで判断し、ブール値を返すために使用されます。 filter() メソッドは、コレクション内の各要素をパラメータとして Predicate の test() メソッドに渡します。true が返された場合、要素は保持され、それ以外の場合は破棄されます。
2. filter() メソッドの使用方法
filter() メソッドを使用するには、まずコレクションを作成してから、それをストリームに変換する必要があります。次に、filter() メソッドを呼び出し、Predicate 関数インターフェイスをパラメーターとして使用します。 filter() メソッドは、基準を満たす要素を含む新しい Stream を返します。最後に、ターミナル操作メソッドを使用して、この新しい Stream を処理します。
以下は、filter() メソッドの使用法を示すサンプル コードです:
import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; public class FilterExample { public static void main(String[] args) { List<Integer> numbers = new ArrayList<>(); numbers.add(1); numbers.add(2); numbers.add(3); numbers.add(4); numbers.add(5); // 使用filter()方法筛选偶数 List<Integer> evenNumbers = numbers.stream() .filter(n -> n % 2 == 0) .collect(Collectors.toList()); System.out.println("偶数列表:" + evenNumbers); } }
上の例では、まず List
出力結果は「偶数リスト: [2, 4]」です。
3. filter() メソッドの応用シナリオ
filter() メソッドには実際に多くの応用例があります。開発風景。一般的なシナリオの一部を以下に示します。
List<Student> adults = students.stream() .filter(s -> s.getAge() > 18) .collect(Collectors.toList());
List<Integer> range = numbers.stream() .filter(n -> n >= 10 && n <= 20) .collect(Collectors.toList());
List<String> nonEmptyStrings = strings.stream() .filter(s -> s != null && !s.isEmpty()) .collect(Collectors.toList());
概要:
filter() メソッドは、Stream API で非常に一般的に使用されるメソッドであり、コレクション内の要素を効率的にフィルターするのに役立ちます。 filter() メソッドを使用すると、簡潔かつエレガントな方法でデータを処理できます。この記事が filter() メソッドの使い方を理解し、実際のプロジェクトで柔軟に活用できるようになれば幸いです。
以上がJava 8 のストリーム API: filter() メソッドを使用してコレクション内の要素をフィルターする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。