Kuidas kasutada iteraatori meetodit elemendi eemaldamiseks Java-kogust?

Kuidas Kasutada Iteraatori Meetodit Elemendi Eemaldamiseks Java Kogust



' iteraator ” meetod pakub ohutut ja lihtsat viisi kogust teatud andmeelementide eemaldamiseks või kustutamiseks, samal ajal kogust seda korrates. See hoiab ära ' ConcurrentModificationException ”, mis tekib siis, kui täiustatud silmus proovib kollektsiooni muuta. See salvestab praeguse asukoha jälgi ja pakub programmeerijatele võimalust edasi liikuda ja vajadusel eemaldada aluseks olevad elemendid.

See ajaveeb demonstreerib protsessi elemendi eemaldamiseks kogust, kasutades iteraatori meetodit.







Kuidas kasutada iteraatori meetodit elemendi eemaldamiseks Java-kogust?

Iteraatori meetod on ühesuunaline ja seda saab kasutada erinevate kogutüüpidega, sealhulgas ' ArrayList“, „LinkedList ' jne. See pakub ühtset viisi elementide eemaldamiseks mis tahes kogust, mis rakendab ' Korduv ” liides.



Vaatame mõnda näidet, et iteraatori meetodit paremini mõista:



Näide 1: Konkreetsete elementide eemaldamine kogust iteraatori meetodi abil

Iteraatori meetodit saab kasutada koos ' kui ” laused või tsüklid määratud elementide valimiseks. Ja siis ' eemaldada ()” meetodit kasutatakse kustutamistoimingu tegemiseks, nagu on näidatud allpool:





importida java.util.* ;
klass IterExam
{
avalik staatiline tühine peamine ( String [ ] args )
{
ArrayList < Täisarv > demoArrList = uus ArrayList < Täisarv > ( ) ;
jaoks ( int i = 0 ; i <= kakskümmend ; i = i + 2 )
{
demoArrList. lisama ( i ) ;
}
Iteraator < Täisarv > itr = demoArrList. iteraator ( ) ;
Süsteem . välja . println ( 'Provided ArrayList:' ) ;

jaoks ( int i = 0 ; i < demoArrList. suurus ( ) ; i ++ )
{
Süsteem . välja . printida ( demoArrList. saada ( i ) + ' ' ) ;
}
samal ajal ( itr. hasNext ( ) )
{
kui ( itr. järgmiseks ( ) % 3 == 0 )
itr. eemaldada ( ) ;
}
Süsteem . välja . println ( ' \n Pärast paaritute massiiviloendi elementide eemaldamist' ) ;
jaoks ( int i = 0 ; i < demoArrList. suurus ( ) ; i ++ )
{
Süsteem . välja . printida ( demoArrList. saada ( i ) + ' ' ) ;
}
}
}

Ülaltoodud koodi kirjeldus:

  • Esiteks luuakse ArrayList ja seejärel kordne ' 2 ' lisatakse vahemikku ' kakskümmend ' abiga ' jaoks 'silmus.
  • Järgmisena deklareerige ' iteraator ” meetodi objekti ArrayListi elementide kuvamiseks konsoolil.
  • Seejärel kasutage ' hasNext ()” meetod iteraatori objektiga, et läbida kõik ArrayListi elemendid.
  • Pärast seda ' kui ' lauset kasutatakse elementide kontrollimiseks, mis on täielikult jaguvad '' 3 'selle sees.
  • Siis ' eemaldada ()' meetodit kasutatakse elementide kustutamiseks, mille tagastab ' kui ” avaldus.
  • Lõpuks on värskendatud ArrayList kuvatud, kasutades ' jaoks 'silmus.

Pärast koostamist:



Väljundis kuvatakse konkreetsed elemendid, mis jagatakse kolmega ja eemaldatakse ArrayListist iteraatori meetodi abil.

Näide 2: Kõigi elementide eemaldamine kogust

Kollektsiooni kõigi püsivate elementide eemaldamiseks saab kasutada iteraatori meetodit koos selle ' eemaldada ()” meetodit, nagu on näidatud allpool:

importida java.util.* ;
klass Tühjus
{
avalik staatiline tühine peamine ( String arg [ ] )
{
Vektor < Täisarv > testVektor = uus Vektor < Täisarv > ( ) ;
testVektor. lisama ( 18 ) ;
testVektor. lisama ( kakskümmend üks ) ;
testVektor. lisama ( 25 ) ;
testVektor. lisama ( 27 ) ;
testVektor. lisama ( 30 ) ;

Iteraator < Täisarv > läbida = testVektor. iteraator ( ) ;
Süsteem . välja . printida ( 'Olemasolevad elemendid:' ) ;
samal ajal ( läbida. hasNext ( ) )
Süsteem . välja . printida ( läbida. järgmiseks ( ) + ' ' ) ;
Süsteem . välja . printida ( ' \n Testvektor sisaldab ' + testVektor. suurus ( ) + 'elemendid' ) ;
läbida = testVektor. iteraator ( ) ;
samal ajal ( läbida. hasNext ( ) )
{
Süsteem . välja . printida ( ' \n eemaldamine' + läbida. järgmiseks ( ) ) ;
läbida. eemaldada ( ) ;
}
Süsteem . välja . println ( ' \n Nüüd sisaldab testVector ' + testVektor. suurus ( ) + 'elemendid' ) ;
}
}

Koodi kirjeldus:

  • Esiteks deklareerige ja lähtestage ' Vektor ' koos näivtäisarvu tüüpi väärtustega, kasutades ' lisama ()” meetodil.
  • Järgmisena looge iteraatori meetod, mis kasutab hasNext ()' ja ' järgmiseks ()” meetodid. See kuvab olemasolevad andmeelemendid ja nende vastava suuruse.
  • Seejärel kasutage ' hasNext ()' atribuut piki iteraatori objekti '' sees samal ajal 'silmus.
  • Pärast seda kasutage ' järgmiseks ()” meetodit, et valida tulevane element, ja seejärel eemaldada () meetodit kutsutakse iga vastuvõtva elemendi kustutamiseks.
  • Sel viisil eemaldatakse kõik Vektori elemendid ja konsoolil kuvatakse Vektori suurus.

Koodi kirjeldus:

Ülaltoodud kood kinnitab, et kõik elemendid kogust on eemaldatud.

Näide 3: Elemendi eemaldamine ListIteratori abil

ListIterator töötab sarnaselt iteraatori meetodiga. ListIterator teostab liikumist mõlemal küljel edasi- ja tagasisuunas. Teatud elementide eemaldamiseks kogust Java ListIteratori abil külastage allolevat koodi:

importida java.util.ArrayList ;
importida java.util.ListIterator ;
avalik klass ListIteratorDemo {

//Meetodi main() initsialiseerimine
avalik staatiline tühine peamine ( String [ ] args )
{ //ArrayListi deklareerimine ja initsialiseerimine
ArrayList < String > täiskasvanu = uus ArrayList < String > ( ) ;
täiskasvanu lisama ( 'Pusa' ) ;
täiskasvanu lisama ( 'poolus' ) ;
täiskasvanu lisama ( 'Henleys' ) ;
täiskasvanu lisama ( 'higi' ) ;
täiskasvanu lisama ( 'Juhuslik' ) ;
täiskasvanu lisama ( 'Luksus' ) ;
täiskasvanu lisama ( 'Dryfit' ) ;


ListIterator < String > liiter = täiskasvanu listIterator ( ) ;
Süsteem . välja . println ( 'Loend enne eemaldamist' ) ;
jaoks ( int i = 0 ; i < täiskasvanu suurus ( ) ; i ++ )
Süsteem . välja . printida ( täiskasvanu saada ( i ) + ' ' ) ;
samal ajal ( liiter. hasNext ( ) ) {
kui ( liiter. järgmiseks ( ) . võrdub ( 'higi' ) ) {
liiter. eemaldada ( ) ;
}
}
Süsteem . välja . println ( ' \n Nimekiri pärast eemaldamist' ) ;
jaoks ( int i = 0 ; i < täiskasvanu suurus ( ) ; i ++ )
Süsteem . välja . printida ( täiskasvanu saada ( i ) + ' ' ) ;
}
}

Ülaltoodud koodi kirjeldus:

  • Esmalt deklareerige ja lähtestage ArrayList näivstringi tüüpi väärtustega ning kuvage kõik konsooli elemendid, kasutades ' jaoks 'silmus.
  • Järgmisena looge objekt, mis kutsub ' hasNext ()” meetod jaotises „ samal ajal 'silmus. See läbib kõiki elavaid elemente.
  • Siis ' kui ' kasutatakse lauset, mis kontrollib iga elementi konkreetse tekstiga, kui see element vastab ' eemaldada ()” meetodit nimetatakse. See kustutab konkreetse elemendi jaotisest ' aArt ” nimega ArrayList.
  • Lõpuks kuvage konsoolil muudetud ArrayList.

Pärast koostamist:

Hetktõmmis kinnitab, et määratud andmeelement on ListIteratori abil kogust eemaldatud.

Järeldus

Elemendi eemaldamiseks kogust, eemaldada ()” kasutatakse iteraatori meetodit. Iteraator läbib sihitud andmete leidmiseks loendi ArrayList. Kui see on leitud ' eemaldada ()” meetodit kasutatakse selle konkreetse andmeelemendi eemaldamiseks. See pakub standardiseeritud tehnikat erinevates kogudes ning hoiab ära probleemid ja mitmete erandite ilmnemise, nagu ' ConcurrentModificationException ”. Koos sellega on ' ListIterator ” võib samuti abi olla.