Hva er prosessen for å filtrere en liste i Java

Hva Er Prosessen For A Filtrere En Liste I Java



' Filtrering av en liste ” i Java er nyttig for utviklere som stort sett jobber med data. Den trer i kraft mens du oppdaterer kodefunksjonene, sletter postene eller bruker de inneholdte dataene i en egen liste. I slike scenarier er listefiltreringstilnærmingen til hjelp for å administrere både tid og minne effektivt hos utviklerne.

Denne bloggen vil veilede hvordan du filtrerer en Java-liste.







Hva er prosessen for å filtrere en Java-liste?

En liste i Java kan filtreres ved å bruke følgende tilnærminger:



Importer pakken nedenfor i alle eksemplene på denne bloggen for å få tilgang til alle funksjonene i ' java.util ' pakke:



import java.util.* ;

Tilnærming 1: Filtrer en liste i Java ved å bruke 'for'-løkken

Denne tilnærmingen bruker ' til ' løkke på den opprettede 'Listen' slik at en ny ' ArrayList ' legges til med de filtrerte elementene.





Eksempel

Oversikt over de nedenfor angitte kodelinjene:

offentlig klasse Filterliste {
offentlig statisk tomrom hoved- ( String [ ] args ) {
Liste < String > gitt Liste = Matriser . asList ( 'Penn' , 'Viskelær' , 'Sliper' ) ;
System . ute . println ( 'gitt liste -> ' + gitt Liste ) ;
Liste < String > listeFilter = ny ArrayList <> ( ) ;
til ( String punkt : gitt Liste ) {
hvis ( punkt. begynner med ( 'OG' ) ) {
listeFilter. Legg til ( punkt ) ;
} }
System . ute . println ( 'Filtrert liste -> ' + listeFilter ) ;
} }

I henhold til denne kodeblokken:



  • Lag en liste over ' String ” datatyper som har de angitte strengverdiene og viser den.
  • Etter det oppretter du en ny ' ArrayList 'navngitt' listeFilter ' for å legge til elementene filtrert fra den tidligere listen.
  • Bruk nå ' til ' løkke for å iterere langs den definerte første listen og filtrere den basert på den anvendte betingelsen, dvs. element(er) som starter med tegnet ' OG '.
  • Når betingelsen er oppfylt, blir den filtrerte listen vedlagt den bestemte strengen.

Produksjon

Som det fremgår, blir den filtrerte listen lagt til strengen som oppfyller den anvendte betingelsen.

Tilnærming 2: Filtrer en liste i Java ved å bruke 'while'-løkken

I denne tilnærmingen er ' samtidig som '-sløyfe kan implementeres sammen med ' Iterator '-klassen og dens metoder for å filtrere den angitte listen. Disse metodene inkluderer ' hasNext()' og 'neste() ” metoder som påkaller neste verdi fra listen hvis det er noen.

Syntaks

boolsk har Neste ( )

Denne metoden returnerer et boolsk utfall, dvs. 'sant eller usant' .

offentlig En neste ( )

Her, ' EN ' tilsvarer ' Iterator-grensesnitt '.

Eksempel

Fortsett nå til følgende kode:

offentlig klasse Filterliste {
offentlig statisk tomrom hoved- ( String [ ] args ) {
Liste < String > gitt Liste = ny ArrayList <> (
Matriser . asList ( 'Java' , 'Programmering' , 'i' , 'Linux' ) ) ;
System . ute . println ( 'gitt liste -> ' + gitt Liste ) ;
Iterator < String > iterasjon = gitt Liste. iterator ( ) ;
samtidig som ( iterasjon. har Neste ( ) ) {
String curr = iterasjon. neste ( ) ;
hvis ( curr. begynner med ( 'P' ) ) {
iterasjon. fjerne ( ) ;
} }
System . ute . println ( 'Filtrert liste -> ' + gitt Liste ) ;
} }

I henhold til koden ovenfor:

  • Lag en ' ArrayList ' av ' String ' skriv med de angitte verdiene og vis den.
  • Gå nå gjennom listeelementene via ' Iterator ' klasse.
  • Bruk også ' samtidig som '-sløyfe for å sjekke om det er et neste element i listen via ' hasNext() '-metoden og hente den basert på den anvendte ' neste() 'metoden.
  • Sjekk nå om det itererte elementet i listen tilfredsstilte den angitte betingelsen, som diskutert i forrige eksempel.
  • Når betingelsen er oppfylt, fjernes det aktuelle elementet i stedet og listen filtreres.

Produksjon

Som analysert, fjernes elementet som oppfyller den angitte betingelsen fra listen på riktig måte.

Inkluder tilleggspakken nedenfor i neste tilnærming for å tillate arbeid med ' Samlere ' klasse:

import java.util.stream.Collectors ;

Tilnærming 3: Filtrer en liste i Java ved å bruke 'filter()'-metoden

De 'filter()' metoden brukes til å filtrere strømelementer basert på det gitte predikatet. Denne metoden kan brukes til å filtrere en strøm av lister.

Syntaks

Strøm < X > filter ( Predikat super X > før )

I denne syntaksen ' før ' tilsvarer ' Predikat ” som kan ta et lambda-uttrykk som et argument.

Eksempel

Tenk på følgende kode:

offentlig klasse Filterliste2 {
offentlig statisk tomrom hoved- ( String [ ] args ) {
Liste < String > gitt Liste = Matriser . asList ( 'Mobil' , 'Laptop' , 'PC' ) ;
System . ute . println ( 'gitt liste -> ' + gitt Liste ) ;
String listeFilter = gitt Liste. strøm ( ) . filter ( punkt -> punkt. begynner med ( 'M' ) )
. samle inn ( Samlere. bli med ( ', ' , '[' , ']' ) ) ;
System . ute . println ( 'Filtrert liste -> ' + listeFilter ) ;
} }

I disse kodelinjene:

  • På samme måte oppretter du en ' Liste ” og vise verdiene.
  • Etter det, bruk ' filter() '-metoden for å filtrere strømelementene i listen basert på den diskuterte tilstanden og spesifisere konvensjonene for å inneholde de filtrerte elementene via ' Samlere ' klasse, henholdsvis.
  • Til slutt, returner den filtrerte listen.

Produksjon

I dette utfallet kan det antydes at en ny liste er vedlagt med verdien som tilfredsstiller den angitte betingelsen.

Konklusjon

En liste i Java kan filtreres ved å bruke ' for'-løkken, 'while'-løkken eller 'filter() 'metoden. Alle disse tilnærmingene filtrerer en liste basert på en spesifisert tilstand direkte eller via lambda-uttrykket. Denne artikkelen demonstrerte fremgangsmåtene for å filtrere en Java-liste.