logo

Java Stream Filter

Java-ström tillhandahåller en metod filter() för att filtrera strömelement på basis av ett givet predikat. Anta att du bara vill få jämna delar av din lista så kan du göra detta enkelt med hjälp av filtermetoden.

Denna metod tar predikat som ett argument och returnerar en ström bestående av resulterande element.


Signatur

Signaturen för metoden Stream filter() ges nedan:

 Stream filter(Predicate predicate) 

Parameter

predikat: Det tar predikatreferens som ett argument. Predikat är ett funktionellt gränssnitt. Så du kan också skicka lambda-uttryck här.

Lämna tillbaka

Den returnerar en ny ström.


Exempel på Java Stream filter().

I följande exempel hämtar och itererar vi filtrerad data.

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

Produktion:

 90000.0 

Java Stream filter() exempel 2

I följande exempel hämtar vi filtrerad data som en lista.

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

Produktion:

 [90000.0]