logo

Java Stream Filter

A Java stream egy filter() metódussal rendelkezik az adatfolyamelemek adott predikátum alapján történő szűrésére. Tegyük fel, hogy a listának csak páros elemeit szeretné megszerezni, akkor ezt egyszerűen megteheti a szűrési módszer segítségével.

Ez a módszer a predikátumot veszi argumentumként, és eredményül kapott elemekből álló adatfolyamot ad vissza.


Aláírás

A Stream filter() metódus aláírása alább látható:

rohit shetty színész
 Stream filter(Predicate predicate) 

Paraméter

állítmány: A predikátum hivatkozást használja argumentumként. A predikátum egy funkcionális interfész. Tehát itt is átadhatja a lambda kifejezést.

Visszatérés

Új adatfolyamot ad vissza.

leértékelési kép

Java Stream filter() példa

A következő példában szűrt adatokat kérünk le és iterálunk.

 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 } } 

Kimenet:

 90000.0 

Java Stream filter() példa 2

A következő példában a szűrt adatokat listaként töltjük le.

 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); } } 

Kimenet:

típusöntés és típuskonverzió java-ban
 [90000.0]