Java Stream bietet eine Methode filter() zum Filtern von Stream-Elementen auf der Grundlage eines bestimmten Prädikats. Angenommen, Sie möchten nur gerade Elemente Ihrer Liste erhalten, dann können Sie dies mithilfe der Filtermethode problemlos tun.
Diese Methode verwendet ein Prädikat als Argument und gibt einen Strom aus resultierenden Elementen zurück.
Unterschrift
Die Signatur der Stream filter()-Methode ist unten angegeben:
Java-Tostring-Methode
Stream filter(Predicate predicate)
Parameter
Prädikat: Als Argument wird die Prädikatreferenz verwendet. Prädikat ist eine funktionale Schnittstelle. Sie können hier also auch einen Lambda-Ausdruck übergeben.
Zurückkehren
Es gibt einen neuen Stream zurück.
So initialisieren Sie ein Array in Java
Beispiel für Java Stream filter()
Im folgenden Beispiel rufen wir gefilterte Daten ab und iterieren sie.
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 } }
Ausgabe:
90000.0
Java Stream filter() Beispiel 2
Im folgenden Beispiel rufen wir gefilterte Daten als Liste ab.
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); } }
Ausgabe:
Designmuster in Java
[90000.0]