Јава стреам обезбеђује метод филтер() за филтрирање елемената тока на основу датог предиката. Претпоставимо да желите да добијете само парне елементе своје листе, онда то можете лако да урадите уз помоћ методе филтера.
Овај метод узима предикат као аргумент и враћа ток који се састоји од резултирајућих елемената.
Потпис
Потпис методе Стреам филтер() је дат у наставку:
Stream filter(Predicate predicate)
Параметар
предикат: Узима референцу на предикат као аргумент. Предикат је функционални интерфејс. Дакле, овде такође можете пренети ламбда израз.
Повратак
Враћа нови ток.
Пример Јава Стреам филтера().
У следећем примеру, ми преузимамо и понављамо филтриране податке.
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
Јава Стреам филтер() пример 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]