logo

Javaストリームフィルター

Java ストリームは、指定された述語に基づいてストリーム要素をフィルタリングするためのメソッド filter() を提供します。リストの偶数の要素のみを取得したいとします。フィルター メソッドを使用すると、これを簡単に行うことができます。

このメソッドは predicate を引数として受け取り、結果の要素で構成されるストリームを返します。

Java文字から文字列へ

サイン

Stream filter() メソッドのシグネチャを以下に示します。

 Stream filter(Predicate predicate) 

パラメータ

述語: Predicate 参照を引数として受け取ります。述語は関数型インターフェイスです。したがって、ここでラムダ式を渡すこともできます。

戻る

新しいストリームを返します。

クイックソート

Java Stream filter() の例

次の例では、フィルタリングされたデータを取得して反復しています。

 import java.util.*; class Product{ int id; String name; float price; public Product(int id, String name, float price) { this.id = id; this.name = name; this.price = price; } } public class JavaStreamExample { public static void main(String[] args) { List productsList = new ArrayList(); //Adding Products productsList.add(new Product(1,'HP Laptop',25000f)); productsList.add(new Product(2,'Dell Laptop',30000f)); productsList.add(new Product(3,'Lenevo Laptop',28000f)); productsList.add(new Product(4,'Sony Laptop',28000f)); productsList.add(new Product(5,'Apple Laptop',90000f)); productsList.stream() .filter(p ->p.price> 30000) // filtering price .map(pm ->pm.price) // fetching price .forEach(System.out::println); // iterating price } } 

出力:

 90000.0 

Java Stream filter() の例 2

次の例では、フィルタリングされたデータをリストとして取得します。

 import java.util.*; import java.util.stream.Collectors; class Product{ int id; String name; float price; public Product(int id, String name, float price) { this.id = id; this.name = name; this.price = price; } } public class JavaStreamExample { public static void main(String[] args) { List productsList = new ArrayList(); //Adding Products productsList.add(new Product(1,'HP Laptop',25000f)); productsList.add(new Product(2,'Dell Laptop',30000f)); productsList.add(new Product(3,'Lenevo Laptop',28000f)); productsList.add(new Product(4,'Sony Laptop',28000f)); productsList.add(new Product(5,'Apple Laptop',90000f)); List pricesList = productsList.stream() .filter(p ->p.price> 30000) // filtering price .map(pm ->pm.price) // fetching price .collect(Collectors.toList()); System.out.println(pricesList); } } 

出力:

 [90000.0]