Mis on Java-loendi filtreerimise protsess?

Mis On Java Loendi Filtreerimise Protsess



Loendi filtreerimine ” Javas on mugav arendajatele, kes töötavad enamasti andmetega. See jõustub koodi funktsioonide värskendamisel, kirjete kustutamisel või sisalduvate andmete eraldi loendis kasutamisel. Selliste stsenaariumide korral aitab loendi filtreerimise lähenemisviis arendajatel tõhusalt hallata nii aega kui ka mälu.

See ajaveeb juhendab Java-loendi filtreerimist.







Mis on Java-loendi filtreerimise protsess?

Java loendit saab filtreerida järgmiste lähenemisviiside abil.



Importige alltoodud pakett kõigis selle ajaveebi näidetes, et pääseda juurde kõikidele funktsioonidele ' java.util ” pakett:



importida java.util.* ;

1. lähenemisviis: loendi filtreerimine Javas, kasutades tsüklit 'for'.

See lähenemisviis rakendab ' jaoks ' loob loodud 'nimekirja' nii, et uus ' ArrayList ” on lisatud filtreeritud üksuse(te)le.





Näide

Ülevaade alltoodud koodiridadest:

avalik klass Filtriloend {
avalik staatiline tühine peamine ( String [ ] args ) {
Nimekiri < String > antud Nimekiri = Massiivid . nimekirjana ( 'Pliiats' , 'kustutuskumm' , 'teritaja' ) ;
Süsteem . välja . println ( 'Antud nimekiri ->' + antud Nimekiri ) ;
Nimekiri < String > listFilter = uus ArrayList <> ( ) ;
jaoks ( String üksus : antud Nimekiri ) {
kui ( üksus. algab ( 'JA' ) ) {
listFilter. lisama ( üksus ) ;
} }
Süsteem . välja . println ( 'Filtritud loend ->' + listFilter ) ;
} }

Selle koodiploki järgi:



  • Looge loend ' String ” andmetüübid, millel on määratud stringiväärtused, ja kuvage see.
  • Pärast seda looge uus ' ArrayList 'nimega' listFilter ”, et lisada see endisest loendist filtreeritud üksustega.
  • Nüüd rakendage ' jaoks ' tsükkel, et korrata määratletud esimest loendit ja filtreerida see rakendatud tingimuse, st üksuse(te) alusel, mis algavad märgiga ' JA ”.
  • Kui tingimus on täidetud, lisatakse filtreeritud loend konkreetse stringiga.

Väljund

Nagu näha, lisatakse filtreeritud loendile string, mis vastab rakendatud tingimusele.

2. lähenemisviis: loendi filtreerimine Java-s, kasutades silmust 'while'.

Selle lähenemisviisi puhul on ' samas ' tsüklit saab rakendada koos ' Iteraator ” klassi ja selle meetodeid pakutava loendi filtreerimiseks. Need meetodid hõlmavad ' hasNext()' ja 'next() ” meetodid, mis kutsuvad esile loendist järgmise väärtuse, kui see on olemas.

Süntaks

tõeväärtus hasNext ( )

See meetod tagastab tõeväärtuse tulemuse, st 'õige või vale' .

avalik Järgmine ( )

Siin, ' A ' vastab ' Iteraatori liides ”.

Näide

Nüüd jätkake järgmise koodiga:

avalik klass Filtriloend {
avalik staatiline tühine peamine ( String [ ] args ) {
Nimekiri < String > antud Nimekiri = uus ArrayList <> (
Massiivid . nimekirjana ( 'Java' , 'Programmeerimine' , 'sisse' , 'Linux' ) ) ;
Süsteem . välja . println ( 'Antud nimekiri ->' + antud Nimekiri ) ;
Iteraator < String > iteratsioon = antud Nimekiri. iteraator ( ) ;
samas ( iteratsioon. hasNext ( ) ) {
String curr = iteratsioon. järgmiseks ( ) ;
kui ( curr. algab ( 'P' ) ) {
iteratsioon. eemaldada ( ) ;
} }
Süsteem . välja . println ( 'Filtritud loend ->' + antud Nimekiri ) ;
} }

Vastavalt ülaltoodud koodile:

  • Looge ' ArrayList ' selle ' String ” sisestage esitatud väärtustega ja kuvage see.
  • Nüüd korrake loendi elemente läbi ' Iteraator ” klass.
  • Rakendage ka ' samas ' tsükkel, et kontrollida, kas loendis on järgmine element, kasutades ' hasNext() ' meetodit ja hankige see kasutatud ' järgmine () ” meetod.
  • Nüüd kontrollige, kas loendi itereeritud element vastab esitatud tingimusele, nagu arutati eelmises näites.
  • Kui tingimus on täidetud, eemaldatakse see konkreetne element ja loend filtreeritakse.

Väljund

Nagu analüüsitud, eemaldatakse määratud tingimusele vastav element loendist asjakohaselt.

Kaasake alltoodud lisapakett järgmisesse lähenemisviisi, et võimaldada töötada ' Kollektsionäärid ” klass:

importida java.util.stream.Collectors ;

3. lähenemisviis: loendi filtreerimine Java-s, kasutades meetodit “filter()”.

The 'filter ()' meetodit kasutatakse vooelementide filtreerimiseks antud predikaadi alusel. Seda meetodit saab kasutada loendivoo filtreerimiseks.

Süntaks

Voog < X > filter ( Predikaat Super X > enne )

Selles süntaksis ' enne ' vastab ' Predikaat ”, mis võib argumendina võtta lambda avaldise.

Näide

Mõelge järgmisele koodile:

avalik klass Filtriloend2 {
avalik staatiline tühine peamine ( String [ ] args ) {
Nimekiri < String > antud Nimekiri = Massiivid . nimekirjana ( 'Mobiil' , 'Sülearvuti' , 'PC' ) ;
Süsteem . välja . println ( 'Antud nimekiri ->' + antud Nimekiri ) ;
String listFilter = antud Nimekiri. oja ( ) . filter ( üksus -> üksus. algab ( 'M' ) )
. koguda ( Kollektsionäärid. liitumine ( ', ' , '[' , ']' ) ) ;
Süsteem . välja . println ( 'Filtritud loend ->' + listFilter ) ;
} }

Nendel koodiridadel:

  • Samamoodi looge ' Nimekiri ” ja kuvada selle väärtused.
  • Pärast seda kasutage ' filter() ” meetodit, et filtreerida loendis olevaid vooelemente käsitletud tingimuse põhjal ja määrata filtreeritud üksuste sisaldumise kokkulepped „ Kollektsionäärid ” klassis vastavalt.
  • Lõpuks tagastage filtreeritud loend.

Väljund

Selles tulemuses võib järeldada, et lisatud tingimusele vastava väärtusega lisatakse uus loend.

Järeldus

Java loendit saab filtreerida, kasutades ' for' tsükkel, tsükkel 'while' või 'filter() ” meetod. Kõik need lähenemisviisid filtreerivad loendi, mis põhineb määratud tingimusel otse või lambda-avaldise kaudu. See artikkel tutvustas Java loendi filtreerimise meetodeid.