logo

Stream filter() in Java met voorbeelden

Streamfilter (predikaatpredikaat) retourneert een stroom die bestaat uit de elementen van deze stroom die overeenkomen met het gegeven predikaat. Dit is een tussenliggende werking. Deze bewerkingen zijn altijd lui, dat wil zeggen dat het uitvoeren van een tussenliggende bewerking zoals filter() feitelijk geen enkele filtering uitvoert, maar in plaats daarvan een nieuwe stroom creëert die, wanneer deze wordt doorlopen, de elementen van de initiële stroom bevat die overeenkomen met het gegeven predikaat.

Syntaxis:



Stream filter(Predicate predicate)>

Waar Stream een ​​interface is en T het type invoer voor het predikaat is.

Retourtype: Een nieuwe stroom.

Implementatie:



  1. Het filteren van de elementen die deelbaar zijn door een specifiek getal tussen 0 en 10.
  2. Het filteren van de elementen met een hoofdletter op een specifieke index.
  3. De elementen eruit filteren die eindigen met aangepaste alfabetische letters.

Voorbeeld 1: filter() methode waarbij de elementen die deelbaar zijn door 5 worden uitgefilterd.

Java






// Java Program to get a Stream Consisting of the Elements> // of Stream that Matches Given Predicate for Stream filter> // (Predicate predicate)> > // Importing required classes> import> java.util.*;> > // Class> class> GFG {> > >// Main driver method> >public> static> void> main(String[] args)> >{> > >// Creating a list of Integers> >List list = Arrays.asList(>3>,>4>,>6>,>12>,>20>);> > >// Getting a stream consisting of the> >// elements that are divisible by 5> >// Using Stream filter(Predicate predicate)> >list.stream()> >.filter(num ->aantal %>5> ==>0>)> >.forEach(System.out::println);> >}> }>

>

>

Uitvoer

soorten for-lus
20>

Voorbeeld 2: filter() methode waarbij de elementen met een hoofdletter op index 1 worden uitgefilterd.

Java




// Java Program to Get Stream Consisting of Elements> // of Stream that Matches Given Predicate> // for Stream Filter (Predicate predicate)> > // Importing required classes> import> java.util.stream.Stream;> > // Class> class> GFG {> > >// Main driver method> >public> static> void> main(String[] args)> >{> >// Creating a stream of strings> >Stream stream = Stream.of(> >'Geeks'>,>'fOr'>,>'GEEKSQUIZ'>,>'techcodeview.com'>);> > >// Getting a stream consisting of the> >// elements having UpperCase Character> >// at custom index say be it '1'> >// using Stream filter(Predicate predicate)> >stream> >.filter(> >str ->Character.isUpperCase(str.charAt(>1>)))> >.forEach(System.out::println);> >}> }>

>

>

Uitvoer

fOr GEEKSQUIZ>

Voorbeeld 3: filter() methode met de bewerking van het filteren van de elementen die eindigen op een aangepaste alfabetische letter, bijvoorbeeld 's', voor implementatiedoeleinden.

Java


polymorfisme Java



// Java Program to Get a Stream Consisting ofElements> // of Stream that Matches Given predicate> // for Stream filter (Predicate predicate)> > // Importing required classes> import> java.util.stream.Stream;> > // Class> class> GFG {> > >// Main driver method> >public> static> void> main(String[] args)> >{> > >// Creating a stream of strings> >Stream stream = Stream.of(> >'Geeks'>,>'foR'>,>'GeEksQuiz'>,>'techcodeview.com'>);> > >// Getting a stream consisting of the> >// elements ending with 's'> >// using Stream filter(Predicate predicate)> >stream.filter(str ->str.endsWith(>'s'>))> >.forEach(System.out::println);> >}> }>

>

>

Uitvoer

Geeks techcodeview.com>