Vad är processen för att filtrera en lista i Java

Vad Ar Processen For Att Filtrera En Lista I Java



' Filtrera en lista ” i Java är praktiskt för utvecklare som mest arbetar med data. Den träder i kraft vid uppdatering av kodfunktionerna, radering av poster eller utnyttjande av de ingående uppgifterna i en separat lista. I sådana scenarier är listfiltreringsmetoden till hjälp för att hantera både tid och minne effektivt hos utvecklarna.

Den här bloggen hjälper dig att filtrera en Java-lista.







Vad är processen för att filtrera en Java-lista?

En lista i Java kan filtreras med följande metoder:



Importera det nedan angivna paketet i alla exempel på den här bloggen för att komma åt alla funktioner i ' java.util ” paket:



importera java.util.* ;

Metod 1: Filtrera en lista i Java med 'för'-loopen

Detta tillvägagångssätt tillämpar ' för ' loop på den skapade 'listan' så att en ny ' ArrayList ” läggs till med den eller de filtrerade objekten.





Exempel

Översikt över nedan angivna kodrader:

offentlig klass Filterlista {
offentlig statisk tomhet huvud ( Sträng [ ] args ) {
Lista < Sträng > given List = Matriser . asList ( 'Penna' , 'Suddgummi' , 'Pennvässare' ) ;
Systemet . ut . println ( 'Given lista ->' + given List ) ;
Lista < Sträng > listFilter = ny ArrayList <> ( ) ;
för ( Sträng Artikel : given List ) {
om ( Artikel. börjar med ( 'OCH' ) ) {
listFilter. Lägg till ( Artikel ) ;
} }
Systemet . ut . println ( 'Filtrerad lista -> ' + listFilter ) ;
} }

Enligt detta kodblock:



  • Skapa en lista med ' Sträng ” datatyper som har de angivna strängvärdena och visa det.
  • Efter det skapar du en ny ' ArrayList ' som heter ' listFilter ” för att lägga till objekten som filtrerats från den tidigare listan.
  • Använd nu ' för ” loop för att iterera längs den definierade första listan och filtrera den baserat på det tillämpade villkoret, dvs. objekt som börjar med tecknet ” OCH ”.
  • När villkoret är uppfyllt, läggs den filtrerade listan till med den specifika strängen.

Produktion

Som framgår läggs den filtrerade listan till med strängen som uppfyller det tillämpade villkoret.

Metod 2: Filtrera en lista i Java med 'while'-loopen

I detta tillvägagångssätt, ' medan ”-slingan kan implementeras tillsammans med ” Iterator ” klass och dess metoder för att filtrera den tillhandahållna listan. Dessa metoder inkluderar ' hasNext()' och 'next() ” metoder som anropar nästa värde från listan om det finns något.

Syntax

booleskt harNästa ( )

Denna metod returnerar ett booleskt resultat, dvs. 'sant eller falskt' .

offentlig En nästa ( )

Här, ' A ' motsvarar ' Iterator-gränssnitt ”.

Exempel

Fortsätt nu till följande kod:

offentlig klass Filterlista {
offentlig statisk tomhet huvud ( Sträng [ ] args ) {
Lista < Sträng > given List = ny ArrayList <> (
Matriser . asList ( 'Java' , 'Programmering' , 'i' , 'Linux' ) ) ;
Systemet . ut . println ( 'Given lista ->' + given List ) ;
Iterator < Sträng > iteration = given List. iterator ( ) ;
medan ( iteration. harNästa ( ) ) {
Sträng curr = iteration. Nästa ( ) ;
om ( curr. börjar med ( 'P' ) ) {
iteration. avlägsna ( ) ;
} }
Systemet . ut . println ( 'Filtrerad lista -> ' + given List ) ;
} }

Enligt ovanstående kod:

  • Skapa en ' ArrayList ' av ' Sträng ” skriv med de angivna värdena och visa det.
  • Iterera nu genom listelementen via ' Iterator ' klass.
  • Använd också ' medan ' loop för att kontrollera om det finns ett nästa element i listan via ' hasNext() ”-metoden och hämta den baserat på den tillämpade ” Nästa() 'metoden.
  • Kontrollera nu om det itererade elementet i listan uppfyllde det angivna villkoret, som diskuterades i föregående exempel.
  • När villkoret är uppfyllt tas det specifika elementet bort istället och listan filtreras.

Produktion

Som analyserats tas elementet som uppfyller det specificerade villkoret bort från listan på lämpligt sätt.

Inkludera nedanstående tilläggspaket i nästa tillvägagångssätt för att tillåta arbete med ' Samlare ' klass:

importera java.util.stream.Collectors ;

Metod 3: Filtrera en lista i Java med metoden 'filter()'.

De 'filtrera()' metod används för att filtrera strömelement baserat på det givna predikatet. Denna metod kan användas för att filtrera en ström av listor.

Syntax

Ström < X > filtrera ( Predikat super X > innan )

I den här syntaxen ' innan ' motsvarar ' Predikat ” som kan ta ett lambdauttryck som argument.

Exempel

Tänk på följande kod:

offentlig klass Filterlista 2 {
offentlig statisk tomhet huvud ( Sträng [ ] args ) {
Lista < Sträng > given List = Matriser . asList ( 'Mobil' , 'Bärbar dator' , 'PC' ) ;
Systemet . ut . println ( 'Given lista ->' + given List ) ;
Sträng listFilter = given List. ström ( ) . filtrera ( Artikel -> Artikel. börjar med ( 'M' ) )
. samla ( Samlare. sammanfogning ( ', ' , '[' , ']' ) ) ;
Systemet . ut . println ( 'Filtrerad lista -> ' + listFilter ) ;
} }

I dessa kodrader:

  • På samma sätt, skapa en ' Lista ” och visa dess värden.
  • Efter det, använd ' filtrera() ”-metoden för att filtrera strömelementen i listan baserat på det diskuterade villkoret och specificera konventionerna för att innehålla de filtrerade objekten via ” Samlare ” klass, respektive.
  • Till sist, returnera den filtrerade listan.

Produktion

I detta utfall kan det antydas att en ny lista läggs till med värdet som uppfyller det angivna villkoret.

Slutsats

En lista i Java kan filtreras med hjälp av ' for' loopen, 'while' loopen eller 'filter() 'metoden. Alla dessa tillvägagångssätt filtrerar en lista baserat på ett specificerat villkor direkt eller via lambda-uttrycket. Den här artikeln demonstrerade metoderna för att filtrera en Java-lista.