Hvordan bruke Iterator-metoden for å fjerne et element fra en samling i Java?

Hvordan Bruke Iterator Metoden For A Fjerne Et Element Fra En Samling I Java



« iterator ”-metoden tilbyr en sikker og enkel måte å fjerne eller slette spesifikke dataelementer fra en samling mens du itererer over den. Det forhindrer forekomsten av ' ConcurrentModificationException ” som oppstår når den forbedrede for-løkken prøver å endre samlingen. Den lagrer sporet til gjeldende posisjon og gir programmerere muligheten til å gå videre og fjerne de underliggende elementene etter behov.

Denne bloggen demonstrerer prosessen for å fjerne et element fra en samling ved å bruke iteratormetoden.







Hvordan bruke Iterator-metoden for å fjerne et element fra en samling i Java?

Iteratormetoden er ensrettet og kan brukes med ulike samlingstyper, inkludert ' ArrayList', 'LinkedList ” osv. Det tilbyr en enhetlig måte å fjerne elementer fra enhver samling som implementerer “ Iterable ' grensesnitt.



La oss besøke noen eksempler for bedre å forstå iteratormetoden:



Eksempel 1: Fjerning av spesifikke elementer fra samlingen ved hjelp av iteratormetoden

Iteratormetoden kan brukes med ' hvis ”-setninger eller looper for å velge de angitte elementene. Og så ' fjerne ()»-metoden brukes til å utføre sletteoperasjonen som vist nedenfor:





import java.util.* ;
klasse IterExam
{
offentlig statisk tomrom hoved- ( String [ ] args )
{
ArrayList < Heltall > demoArrList = ny ArrayList < Heltall > ( ) ;
til ( int Jeg = 0 ; Jeg <= tjue ; Jeg = Jeg + 2 )
{
demoArrList. Legg til ( Jeg ) ;
}
Iterator < Heltall > itr = demoArrList. iterator ( ) ;
System . ute . println ( 'Provided ArrayList:' ) ;

til ( int Jeg = 0 ; Jeg < demoArrList. størrelse ( ) ; Jeg ++ )
{
System . ute . skrive ut ( demoArrList. ( Jeg ) + ' ' ) ;
}
samtidig som ( itr. har Neste ( ) )
{
hvis ( itr. neste ( ) % 3 == 0 )
itr. fjerne ( ) ;
}
System . ute . println ( ' \n Etter fjerning av Odd ArrayList-elementer' ) ;
til ( int Jeg = 0 ; Jeg < demoArrList. størrelse ( ) ; Jeg ++ )
{
System . ute . skrive ut ( demoArrList. ( Jeg ) + ' ' ) ;
}
}
}

Beskrivelse av koden ovenfor:

  • Først opprettes ArrayList og deretter et multiplum av ' 2 ' settes inn til området ' tjue ' ved hjelp av ' til ' Løkke.
  • Deretter erklærer du en ' iterator ” metodeobjekt for å vise elementene i ArrayList på konsollen.
  • Deretter bruker du ' har Neste ()”-metoden med iteratorobjektet for å gå gjennom alle gjenværende ArrayList-elementer.
  • Etter det, ' hvis '-setning brukes til å sjekke elementene som er fullt delbare med ' 3 ' inni det.
  • Og så ' fjerne ()'-metoden brukes til å slette elementene som returneres av ' hvis ' uttalelse.
  • Til slutt har den oppdaterte ArrayList blitt vist ved å bruke ' til ' Løkke.

Etter kompileringen:



Utdataene viser de spesifikke elementene, som er delbare med tre og fjernet fra ArrayList ved hjelp av en iteratormetode.

Eksempel 2: Fjerning av alle elementer fra samlingen

For å fjerne alle gjenværende elementer i samlingen, kan iteratormetoden brukes sammen med dens ' fjerne ()»-metoden som vist nedenfor:

import java.util.* ;
klasse Tomhet
{
offentlig statisk tomrom hoved- ( String arg [ ] )
{
Vektor < Heltall > testVektor = ny Vektor < Heltall > ( ) ;
testVektor. Legg til ( 18 ) ;
testVektor. Legg til ( tjueen ) ;
testVektor. Legg til ( 25 ) ;
testVektor. Legg til ( 27 ) ;
testVektor. Legg til ( 30 ) ;

Iterator < Heltall > traversere = testVektor. iterator ( ) ;
System . ute . skrive ut ( 'Eksisterende elementer:' ) ;
samtidig som ( traversere. har Neste ( ) )
System . ute . skrive ut ( traversere. neste ( ) + ' ' ) ;
System . ute . skrive ut ( ' \n TestVektoren inneholder ' + testVektor. størrelse ( ) + 'elementer' ) ;
traversere = testVektor. iterator ( ) ;
samtidig som ( traversere. har Neste ( ) )
{
System . ute . skrive ut ( ' \n fjerner' + traversere. neste ( ) ) ;
traversere. fjerne ( ) ;
}
System . ute . println ( ' \n Nå inneholder testVector ' + testVektor. størrelse ( ) + 'elementer' ) ;
}
}

Beskrivelse av kode:

  • Først erklærer og initialiser ' Vektor ' med dummy heltallstypeverdier ved å bruke ' Legg til ()»-metoden.
  • Deretter oppretter du en iteratormetode som bruker ' har Neste ()» og « neste ()»-metoder. Den viser de eksisterende dataelementene og deres tilsvarende størrelse.
  • Deretter bruker du ' har Neste ()'-egenskapen langs iteratorobjektet inne i ' samtidig som ' Løkke.
  • Etter det, bruk ' neste ()»-metoden for å velge det kommende elementet, og deretter fjerne () metode kalles for å slette hvert mottakende element.
  • På denne måten fjernes alle elementene i vektoren og størrelsen på vektoren vises på konsollen.

Beskrivelse av kode:

Koden ovenfor bekrefter at alle elementer fra samlingen er fjernet.

Eksempel 3: Fjerning av element ved hjelp av ListIterator

ListIterator fungerer på samme måte som iterator-metoden. ListIterator utfører traversering på begge sider i retning forover og bakover. For å fjerne spesifikke elementer fra samlingen ved å bruke ListIterator i Java, besøk koden nedenfor:

import java.util.ArrayList ;
import java.util.ListIterator ;
offentlig klasse ListIteratorDemo {

//Initialisering av main()-metoden
offentlig statisk tomrom hoved- ( String [ ] args )
{ //Erklære og initialisere ArrayList
ArrayList < String > voksen = ny ArrayList < String > ( ) ;
voksen Legg til ( 'Hettegenser' ) ;
voksen Legg til ( 'Stang' ) ;
voksen Legg til ( 'Henleys' ) ;
voksen Legg til ( 'Svette' ) ;
voksen Legg til ( 'Uformelt' ) ;
voksen Legg til ( 'Luksus' ) ;
voksen Legg til ( 'Dryfit' ) ;


ListIterator < String > liter = voksen listIterator ( ) ;
System . ute . println ( 'Liste før fjerning' ) ;
til ( int Jeg = 0 ; Jeg < voksen størrelse ( ) ; Jeg ++ )
System . ute . skrive ut ( voksen ( Jeg ) + ' ' ) ;
samtidig som ( liter. har Neste ( ) ) {
hvis ( liter. neste ( ) . er lik ( 'Svette' ) ) {
liter. fjerne ( ) ;
}
}
System . ute . println ( ' \n Liste etter fjerning' ) ;
til ( int Jeg = 0 ; Jeg < voksen størrelse ( ) ; Jeg ++ )
System . ute . skrive ut ( voksen ( Jeg ) + ' ' ) ;
}
}

Beskrivelse av koden ovenfor:

  • Først erklærer og initialiser ArrayList med dummy String type verdier og vis alle elementene på konsollen ved å bruke ' til ' Løkke.
  • Deretter oppretter du et objekt som kaller ' har Neste ()»-metoden i « samtidig som ' Løkke. Den går gjennom alle boelementer.
  • Og så ' hvis '-setning brukes som sjekker hvert element med spesifikk tekst, når det elementet samsvarer med ' fjerne ()»-metoden kalles. Den sletter det spesifikke elementet fra ' aArt ' kalt ArrayList.
  • Til slutt, vis den modifiserte ArrayList på konsollen.

Etter kompilering:

Øyeblikksbildet bekrefter at det spesifiserte dataelementet er fjernet fra samlingen ved hjelp av ListIterator.

Konklusjon

For å fjerne elementet fra en samling, ' fjerne ()»-metoden til iteratoren brukes. Iteratoren går gjennom ArrayList for å finne de målrettede dataene. Når den er funnet ' fjerne ()»-metoden brukes til å fjerne det spesifikke dataelementet. Den tilbyr en standardisert teknikk på tvers av forskjellige samlinger og forhindrer problemer og forekomsten av flere unntak som ' ConcurrentModificationException '. Sammen med det, ' ListIterator ' kan også være nyttig.