Care este procesul de filtrare a unei liste în Java

Care Este Procesul De Filtrare A Unei Liste In Java



Filtrarea unei liste ” în Java este la îndemână pentru dezvoltatorii care lucrează în mare parte cu date. Acesta intră în vigoare în timpul actualizării funcționalităților codului, ștergerea înregistrărilor sau utilizarea datelor conținute într-o listă separată. În astfel de scenarii, abordarea de filtrare a listelor este de ajutor în gestionarea eficientă atât a timpului, cât și a memoriei la sfârșitul dezvoltatorilor.

Acest blog vă va ghida pentru a filtra o listă Java.







Care este procesul de filtrare a unei liste Java?

O listă în Java poate fi filtrată folosind următoarele abordări:



Importați pachetul de mai jos în toate exemplele acestui blog pentru a accesa toate funcționalitățile din cadrul „ java.util ' pachet:



import java.util.* ;

Abordarea 1: Filtrați o listă în Java folosind bucla „for”.

Această abordare aplică „ pentru ” bucla pe „Lista” creată astfel încât un nou „ ArrayList ” este atașat la elementul(ele) filtrat(e).





Exemplu

Prezentare generală a liniilor de cod menționate mai jos:

public clasă Lista de filtre {
public static gol principal ( Şir [ ] argumente ) {
Listă < Şir > dateList = Matrice . asList ( 'Pix' , 'Radieră' , 'Ascuţitoare' ) ;
Sistem . afară . println ( 'Lista dată -> ' + dateList ) ;
Listă < Şir > listFilter = nou ArrayList <> ( ) ;
pentru ( Şir articol : dateList ) {
dacă ( articol. incepe cu ( 'ȘI' ) ) {
listFilter. adăuga ( articol ) ;
} }
Sistem . afară . println ( 'Lista filtrata -> ' + listFilter ) ;
} }

Conform acestui bloc de cod:



  • Creați o listă cu „ Şir ” tipuri de date care au valorile șirului de caractere declarate și le afișează.
  • După aceea, creați un nou „ ArrayList ' numit ' listFilter ” pentru a-l adăuga articolele filtrate din lista anterioară.
  • Acum, aplicați „ pentru ” buclă pentru a repeta de-a lungul primei liste definite și pentru a o filtra în funcție de condiția aplicată, adică articol(ele) care încep cu caracterul ” ȘI ”.
  • La condiția îndeplinită, lista filtrată devine atașată cu șirul specific.

Ieșire

După cum se vede, lista filtrată este atașată cu șirul care îndeplinește condiția aplicată.

Abordarea 2: Filtrați o listă în Java folosind bucla „while”.

În această abordare, „ in timp ce ” bucla poate fi implementată împreună cu “ Iterator ” și metodele acesteia pentru a filtra lista furnizată. Aceste metode includ „ areNext()” și „next() ” metode care invocă următoarea valoare din listă dacă există.

Sintaxă

boolean areNext ( )

Această metodă returnează un rezultat boolean, adică 'adevărat sau fals' .

public Un următor ( )

Aici, ' A ” corespunde cu „ Interfață iterator ”.

Exemplu

Acum, treceți la următorul cod:

public clasă Lista de filtre {
public static gol principal ( Şir [ ] argumente ) {
Listă < Şir > dateList = nou ArrayList <> (
Matrice . asList ( 'Java' , 'Programare' , 'în' , 'Linux' ) ) ;
Sistem . afară . println ( 'Lista dată -> ' + dateList ) ;
Iterator < Şir > repetare = dateList. iterator ( ) ;
in timp ce ( repetare. areNext ( ) ) {
Şir curr = repetare. Următorul ( ) ;
dacă ( curr. incepe cu ( 'P' ) ) {
repetare. elimina ( ) ;
} }
Sistem . afară . println ( 'Lista filtrata -> ' + dateList ) ;
} }

Conform codului de mai sus:

  • Creaza un ' ArrayList ” din ” Şir ” tastați având valorile furnizate și afișați-l.
  • Acum, repetați elementele listei prin intermediul „ Iterator ” clasa.
  • De asemenea, aplicați „ in timp ce ” buclă pentru a verifica dacă există un element următor în listă prin intermediul “ areNext() ” și recuperați-o pe baza aplicației ” Următorul() ” metoda.
  • Acum, verificați dacă elementul repetat din listă a îndeplinit condiția declarată, așa cum sa discutat în exemplul anterior.
  • La condiția îndeplinită, acel element special este eliminat și lista este filtrată.

Ieșire

După cum sa analizat, elementul care îndeplinește condiția specificată este eliminat din listă în mod corespunzător.

Includeți pachetul suplimentar de mai jos în următoarea abordare pentru a permite lucrul cu „ Colectionari ” clasa:

import java.util.stream.Collectors ;

Abordarea 3: Filtrați o listă în Java folosind metoda „filter()”.

The 'filtru()' metoda este utilizată pentru a filtra elementele fluxului pe baza predicatului dat. Această metodă poate fi utilizată pentru a filtra un flux de liste.

Sintaxă

Curent < X > filtru ( Predicat super X > inainte de )

În această sintaxă, „ inainte de ” corespunde cu „ Predicat ” care poate lua ca argument o expresie lambda.

Exemplu

Luați în considerare următorul cod:

public clasă Lista de filtre2 {
public static gol principal ( Şir [ ] argumente ) {
Listă < Şir > dateList = Matrice . asList ( 'Mobil' , 'Laptop' , 'PC' ) ;
Sistem . afară . println ( 'Lista dată -> ' + dateList ) ;
Şir listFilter = dateList. curent ( ) . filtru ( articol -> articol. incepe cu ( 'M' ) )
. colectarea ( Colectionari. alăturarea ( ', ' , „[” , ']' ) ) ;
Sistem . afară . println ( 'Lista filtrata -> ' + listFilter ) ;
} }

În aceste linii de cod:

  • De asemenea, creați un „ Listă ” și afișați valorile acestuia.
  • După aceea, utilizați „ filtru() ” pentru a filtra elementele fluxului din listă pe baza condiției discutate și a specifica convențiile pentru conținerea elementelor filtrate prin intermediul „ Colectionari ”, respectiv clasa.
  • În sfârșit, returnați lista filtrată.

Ieșire

În acest rezultat, se poate presupune că o nouă listă este adăugată cu valoarea care satisface condiția declarată.

Concluzie

O listă în Java poate fi filtrată folosind „ bucla for”, bucla „while” sau „filter() ” metoda. Toate aceste abordări filtrează o listă bazată pe o condiție specificată direct sau prin expresia lambda. Acest articol a demonstrat abordările pentru filtrarea unei liste Java.