Java-stream giver et metodefilter() til at filtrere strømelementer på basis af et givet prædikat. Antag, at du kun vil have lige elementer på din liste, så kan du nemt gøre dette ved hjælp af filtermetoden.
Denne metode tager prædikat som et argument og returnerer en strøm bestående af resulterende elementer.
Underskrift
Signaturen for Stream filter()-metoden er givet nedenfor:
bash andet hvis
Stream filter(Predicate predicate)
Parameter
prædikat: Det tager prædikatreference som et argument. Prædikat er en funktionel grænseflade. Så du kan også sende lambda-udtryk her.
Vend tilbage
Det returnerer en ny strøm.
centrere et billede i css
Java Stream filter() eksempel
I det følgende eksempel henter og itererer vi filtrerede 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() eksempel 2
I det følgende eksempel henter vi filtrerede data som en liste.
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]