Hvad er processen til at filtrere en liste i Java

Hvad Er Processen Til At Filtrere En Liste I Java



Filtrering af en liste ” i Java er praktisk for udviklere, der mest arbejder med data. Den træder i kraft, mens kodefunktionerne opdateres, slettes posterne eller ved brug af de indeholdte data på en separat liste. I sådanne scenarier er listefiltreringstilgangen en hjælp til at administrere både tid og hukommelse effektivt hos udviklerne.

Denne blog guider til at filtrere en Java-liste.







Hvad er processen for at filtrere en Java-liste?

En liste i Java kan filtreres ved hjælp af følgende fremgangsmåder:



Importer nedenstående pakke i alle eksemplerne på denne blog for at få adgang til alle funktionerne i ' java.util ' pakke:



importere java.util.* ;

Fremgangsmåde 1: Filtrer en liste i Java ved hjælp af 'for'-løkken

Denne tilgang anvender ' til ' sløjfe på den oprettede 'Liste', således at en ny ' ArrayList ” er tilføjet det eller de filtrerede elementer.





Eksempel

Oversigt over nedenstående kodelinjer:

offentlig klasse Filterliste {
offentlig statisk ugyldig vigtigste ( Snor [ ] args ) {
Liste < Snor > givenList = Arrays . asList ( 'Pen' , 'Viskelæder' , 'Skærper' ) ;
System . ud . println ( 'Given liste ->' + givenList ) ;
Liste < Snor > listeFilter = ny ArrayList <> ( ) ;
til ( Snor vare : givenList ) {
hvis ( vare. starter med ( 'OG' ) ) {
listeFilter. tilføje ( vare ) ;
} }
System . ud . println ( 'Filtreret liste -> ' + listeFilter ) ;
} }

Ifølge denne kodeblok:



  • Opret en liste over ' Snor ” datatyper med de angivne strengværdier og vise det.
  • Derefter skal du oprette en ny ' ArrayList ' som hedder ' listeFilter ” for at tilføje den med de elementer, der er filtreret fra den tidligere liste.
  • Anvend nu ' til ” sløjfe for at iterere langs den definerede første liste og filtrere den baseret på den anvendte betingelse, dvs. elementer, der starter med tegnet “ OG ”.
  • Når betingelsen er opfyldt, bliver den filtrerede liste tilføjet den bestemte streng.

Produktion

Som det ses, er den filtrerede liste tilføjet den streng, der opfylder den anvendte betingelse.

Fremgangsmåde 2: Filtrer en liste i Java ved hjælp af 'while'-løkken

I denne tilgang er ' mens ”-løkke kan implementeres sammen med ” Iterator ” klasse og dens metoder til at filtrere den angivne liste. Disse metoder omfatter ' hasNext()' og 'next() ” metoder, der kalder den næste værdi fra listen, hvis der er nogen.

Syntaks

boolesk har Næste ( )

Denne metode returnerer et boolsk resultat, dvs. 'sandt eller falsk' .

offentlig En næste ( )

Her, ' EN ' svarer til ' Iterator interface ”.

Eksempel

Fortsæt nu til følgende kode:

offentlig klasse Filterliste {
offentlig statisk ugyldig vigtigste ( Snor [ ] args ) {
Liste < Snor > givenList = ny ArrayList <> (
Arrays . asList ( 'Java' , 'Programmering' , 'i' , 'Linux' ) ) ;
System . ud . println ( 'Given liste ->' + givenList ) ;
Iterator < Snor > iteration = givenList. iterator ( ) ;
mens ( iteration. har Næste ( ) ) {
Snor curr = iteration. Næste ( ) ;
hvis ( curr. starter med ( 'P' ) ) {
iteration. fjerne ( ) ;
} }
System . ud . println ( 'Filtreret liste -> ' + givenList ) ;
} }

I henhold til ovenstående kode:

  • Opret en ' ArrayList ' af ' Snor ” skriv med de angivne værdier og vis det.
  • Gentag nu listeelementerne via ' Iterator ' klasse.
  • Anvend også ' mens ”-løkke for at kontrollere, om der er et næste element på listen via hasNext() ”-metoden og hent den ud fra den anvendte ” Næste() ” metode.
  • Tjek nu, om det itererede element i listen opfyldte den angivne betingelse, som diskuteret i det foregående eksempel.
  • Når betingelsen er opfyldt, fjernes det pågældende element i stedet, og listen filtreres.

Produktion

Som analyseret fjernes elementet, der opfylder den angivne betingelse, fra listen på passende vis.

Inkluder den nedenfor angivne ekstra pakke i den næste tilgang for at tillade arbejde med ' Samlere ' klasse:

importere java.util.stream.Collectors ;

Fremgangsmåde 3: Filtrer en liste i Java ved hjælp af 'filter()'-metoden

Det 'filter()' metode bruges til at filtrere strømelementer baseret på det givne prædikat. Denne metode kan bruges til at filtrere en strøm af lister.

Syntaks

Strøm < x > filter ( Prædikat super x > Før )

I denne syntaks, ' Før ' svarer til ' Prædikat ” der kan tage et lambda-udtryk som et argument.

Eksempel

Overvej følgende kode:

offentlig klasse Filterliste 2 {
offentlig statisk ugyldig vigtigste ( Snor [ ] args ) {
Liste < Snor > givenList = Arrays . asList ( 'Mobil' , 'Bærbar' , 'PC' ) ;
System . ud . println ( 'Given liste ->' + givenList ) ;
Snor listeFilter = givenList. strøm ( ) . filter ( vare -> vare. starter med ( 'M' ) )
. indsamle ( Samlere. tilslutte sig ( ', ' , '[' , ']' ) ) ;
System . ud . println ( 'Filtreret liste -> ' + listeFilter ) ;
} }

I disse kodelinjer:

  • Ligeledes skal du oprette en ' Liste ” og vise dens værdier.
  • Brug derefter ' filter() ' metode til at filtrere strømelementerne i listen baseret på den diskuterede tilstand og specificere konventionerne for at indeholde de filtrerede elementer via ' Samlere henholdsvis ”klasse.
  • Til sidst returnerer du den filtrerede liste.

Produktion

I dette resultat kan det antydes, at der tilføjes en ny liste med værdien, der opfylder den angivne betingelse.

Konklusion

En liste i Java kan filtreres ved at bruge ' for'-løkken, 'mens'-løkken eller 'filter() ” metode. Alle disse tilgange filtrerer en liste baseret på en specificeret betingelse direkte eller via lambda-udtrykket. Denne artikel demonstrerede fremgangsmåderne til at filtrere en Java-liste.