logo

Java Akış Filtresi

Java akışı, akış öğelerini verilen yüklem temelinde filtrelemek için bir filter() yöntemi sağlar. Diyelim ki listenizin yalnızca çift elemanlarını almak istiyorsunuz, o zaman bunu filtre yönteminin yardımıyla kolayca yapabilirsiniz.

Bu yöntem, yüklemi bir argüman olarak alır ve sonuçtaki öğelerden oluşan bir akışı döndürür.

c dilinde yapı dizisi

İmza

Stream filter() yönteminin imzası aşağıda verilmiştir:

 Stream filter(Predicate predicate) 

Parametre

yüklem: Bağımsız değişken olarak Yüklem referansını alır. Yüklem işlevsel bir arayüzdür. Yani burada lambda ifadesini de iletebilirsiniz.

Geri dönmek

Yeni bir akış döndürür.


Java Akış filtresi() örneği

Aşağıdaki örnekte, filtrelenmiş verileri getiriyoruz ve yineliyoruz.

bu tıklamayı jquery yapın
 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 } } 

Çıktı:

 90000.0 

Java Akış filtresi() örneği 2

Aşağıdaki örnekte filtrelenmiş verileri liste halinde getiriyoruz.

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

Çıktı:

 [90000.0]