Aký je proces filtrovania zoznamu v jazyku Java

Aky Je Proces Filtrovania Zoznamu V Jazyku Java



Filtrovanie zoznamu ” v Jave je praktický pre vývojárov, ktorí väčšinou pracujú s dátami. Nadobudne účinnosť pri aktualizácii funkcií kódu, odstraňovaní záznamov alebo využívaní údajov obsiahnutých v samostatnom zozname. V takýchto scenároch je prístup filtrovania zoznamov nápomocný pri efektívnej správe času aj pamäte na konci vývojárov.

Tento blog vás prevedie filtrovaním zoznamu Java.







Aký je proces filtrovania zoznamu Java?

Zoznam v jazyku Java je možné filtrovať pomocou nasledujúcich postupov:



Importujte nižšie uvedený balík vo všetkých príkladoch tohto blogu, aby ste získali prístup ku všetkým funkciám v rámci „ java.util “balíček:



importovať java.util.* ;

Prístup 1: Filtrovanie zoznamu v jazyku Java pomocou slučky „for“.

Tento prístup uplatňuje „ pre ” slučka na vytvorenom „Zozname“ tak, že nový „ ArrayList ” sa pripája k filtrovaným položkám.





Príklad

Prehľad nižšie uvedených riadkov kódu:

verejnosti trieda Zoznam filtrov {
verejnosti statické neplatné Hlavná ( Reťazec [ ] args ) {
Zoznam < Reťazec > danýZoznam = Polia . asList ( 'pero' , 'guma' , 'ostrička' ) ;
systém . von . println ( 'Daný zoznam ->' + danýZoznam ) ;
Zoznam < Reťazec > listFilter = Nový ArrayList <> ( ) ;
pre ( Reťazec položka : danýZoznam ) {
ak ( položka. začína s ( 'A' ) ) {
listFilter. pridať ( položka ) ;
} }
systém . von . println ( 'Filtrovaný zoznam ->' + listFilter ) ;
} }

Podľa tohto bloku kódu:



  • Vytvorte zoznam „ Reťazec ” dátové typy, ktoré majú uvedené hodnoty reťazca a zobrazia sa.
  • Potom vytvorte nový „ ArrayList “ s názvom “ listFilter ” a pripojíte ho k položkám odfiltrovaným z predchádzajúceho zoznamu.
  • Teraz použite „ pre ” cyklus na iteráciu podľa definovaného prvého zoznamu a jeho filtrovanie na základe použitej podmienky, t. j. položky začínajúce znakom “ A “.
  • Po splnení podmienky sa k filtrovanému zoznamu pripojí konkrétny reťazec.

Výkon

Ako vidíte, k filtrovanému zoznamu sa pridá reťazec, ktorý spĺňa použitú podmienku.

Prístup 2: Filtrovanie zoznamu v jazyku Java pomocou slučky „while“.

Pri tomto prístupe „ zatiaľ čo “slučka môže byť implementovaná spolu s “ Iterátor ” a jej metódy na filtrovanie poskytnutého zoznamu. Tieto metódy zahŕňajú „ hasNext()“ a „next() ” metódy, ktoré vyvolajú ďalšiu hodnotu zo zoznamu, ak nejaká existuje.

Syntax

boolovská hodnota hasNext ( )

Táto metóda vracia boolovský výsledok, tj. 'pravda alebo lož' .

verejnosti Ďalší ( )

Tu, ' A “ zodpovedá „ Rozhranie iterátora “.

Príklad

Teraz prejdite na nasledujúci kód:

verejnosti trieda Zoznam filtrov {
verejnosti statické neplatné Hlavná ( Reťazec [ ] args ) {
Zoznam < Reťazec > danýZoznam = Nový ArrayList <> (
Polia . asList ( 'Java' , 'programovanie' , 'v' , 'linux' ) ) ;
systém . von . println ( 'Daný zoznam ->' + danýZoznam ) ;
Iterátor < Reťazec > iteráciu = danýZoznam. iterátor ( ) ;
zatiaľ čo ( iteráciu. hasNext ( ) ) {
Reťazec curr = iteráciu. Ďalšie ( ) ;
ak ( curr. začína s ( 'P' ) ) {
iteráciu. odstrániť ( ) ;
} }
systém . von . println ( 'Filtrovaný zoznam ->' + danýZoznam ) ;
} }

Podľa vyššie uvedeného kódu:

  • Vytvorte „ ArrayList “z “ Reťazec ” zadajte s poskytnutými hodnotami a zobrazte ho.
  • Teraz iterujte cez prvky zoznamu cez „ Iterátor ' trieda.
  • Tiež použite „ zatiaľ čo “, aby ste skontrolovali, či je v zozname ďalší prvok cez „ hasNext() “ a získajte ju na základe použitej “ Ďalšie() “.
  • Teraz skontrolujte, či iterovaný prvok v zozname spĺňa uvedenú podmienku, ako je uvedené v predchádzajúcom príklade.
  • Po splnení podmienky sa daný prvok namiesto toho odstráni a zoznam sa prefiltruje.

Výkon

Po analýze sa prvok spĺňajúci špecifikovanú podmienku náležite odstráni zo zoznamu.

Zahrňte nižšie uvedený dodatočný balík do ďalšieho prístupu, aby ste umožnili prácu s „ Zberatelia ' trieda:

importovať java.util.stream.Collectors ;

Prístup 3: Filtrovanie zoznamu v jazyku Java pomocou metódy „filter()“.

The 'filter()' metóda sa používa na filtrovanie prvkov prúdu na základe daného predikátu. Táto metóda sa dá použiť na filtrovanie prúdu zoznamov.

Syntax

Prúd < X > filter ( Predikát Super X > pred )

V tejto syntaxi „ pred “ zodpovedá „ Predikát “, ktorý môže brať výraz lambda ako argument.

Príklad

Zvážte nasledujúci kód:

verejnosti trieda Zoznam filtrov2 {
verejnosti statické neplatné Hlavná ( Reťazec [ ] args ) {
Zoznam < Reťazec > danýZoznam = Polia . asList ( 'Mobilné' , 'prenosný počítač' , 'PC' ) ;
systém . von . println ( 'Daný zoznam ->' + danýZoznam ) ;
Reťazec listFilter = danýZoznam. Prúd ( ) . filter ( položka -> položka. začína s ( 'M' ) )
. zbierať ( Zberatelia. spájanie ( ',' , '[' , ']' ) ) ;
systém . von . println ( 'Filtrovaný zoznam ->' + listFilter ) ;
} }

V týchto riadkoch kódu:

  • Podobne vytvorte „ Zoznam “ a zobrazte jej hodnoty.
  • Potom použite „ filter() ” metóda na filtrovanie prvkov streamu v zozname na základe diskutovanej podmienky a špecifikovanie konvencií pre obsiahnutie filtrovaných položiek pomocou “ Zberatelia “ triedy, resp.
  • Nakoniec vráťte filtrovaný zoznam.

Výkon

V tomto výsledku možno naznačiť, že sa pripojí nový zoznam s hodnotou, ktorá spĺňa uvedenú podmienku.

Záver

Zoznam v jazyku Java je možné filtrovať pomocou „ cyklus for“, cyklus „while“ alebo „filter() “. Všetky tieto prístupy filtrujú zoznam na základe špecifikovanej podmienky priamo alebo prostredníctvom výrazu lambda. Tento článok demonštroval prístupy k filtrovaniu zoznamu Java.