logo

Java Stream Filter

Потокът на Java предоставя метод filter() за филтриране на елементи на поток въз основа на даден предикат. Да предположим, че искате да получите само четни елементи от вашия списък, тогава можете да направите това лесно с помощта на филтърния метод.

как да разкриете приложението в android

Този метод приема предикат като аргумент и връща поток от състоящ се от резултатни елементи.


Подпис

Подписът на метода Stream filter() е даден по-долу:

 Stream filter(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 } } 

Изход:

java срез
 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]