Hogyan használhatjuk az iterátor módszert egy elem eltávolítására a Java gyűjteményből?

Hogyan Hasznalhatjuk Az Iterator Modszert Egy Elem Eltavolitasara A Java Gyujtemenybol



A ' iterátor ” módszer biztonságos és egyszerű módot kínál bizonyos adatelemek eltávolítására vagy törlésére egy gyűjteményből, miközben iterál rajta. Megakadályozza a „ ConcurrentModificationException ” ami akkor keletkezik, amikor a továbbfejlesztett for ciklus megpróbálja módosítani a gyűjteményt. Tárolja az aktuális pozíció nyomvonalát, és lehetőséget kínál a programozóknak, hogy előrelépjenek, és szükség szerint eltávolítsák a mögöttes elemeket.

Ez a blog bemutatja az elem eltávolításának folyamatát a gyűjteményből az iterátor módszer használatával.







Hogyan használhatjuk az iterátor módszert egy elem eltávolítására a Java gyűjteményből?

Az iterátor módszer egyirányú, és különféle gyűjteménytípusokkal használható, beleértve a „ ArrayList”, „LinkedList ”, stb. Egységes módot kínál az elemek eltávolítására minden olyan gyűjteményből, amely megvalósítja a „ Iterálható ” interfész.



Nézzünk meg néhány példát, hogy jobban megértsük az iterátor módszerét:



1. példa: Adott elemek eltávolítása a gyűjteményből Iterátor módszerrel

Az iterátor módszer használható a „ ha ” utasításokat vagy ciklusokat a megadott elemek kiválasztásához. És akkor a „ távolítsa el ()” módszerrel hajtja végre a törlési műveletet az alábbiak szerint:





import java.util.* ;
osztály IterExam
{
nyilvános statikus üres fő- ( Húr [ ] args )
{
Tömb lista < Egész szám > demoArrList = új Tömb lista < Egész szám > ( ) ;
számára ( int én = 0 ; én <= húsz ; én = én + 2 )
{
demoArrList. add hozzá ( én ) ;
}
Iterátor < Egész szám > itr = demoArrList. iterátor ( ) ;
Rendszer . ki . println ( 'Adott ArrayList:' ) ;

számára ( int én = 0 ; én < demoArrList. méret ( ) ; én ++ )
{
Rendszer . ki . nyomtatás ( demoArrList. kap ( én ) + ' ' ) ;
}
míg ( itr. hasNext ( ) )
{
ha ( itr. következő ( ) % 3 == 0 )
itr. távolítsa el ( ) ;
}
Rendszer . ki . println ( ' \n A páratlan tömblistaelemek eltávolítása után' ) ;
számára ( int én = 0 ; én < demoArrList. méret ( ) ; én ++ )
{
Rendszer . ki . nyomtatás ( demoArrList. kap ( én ) + ' ' ) ;
}
}
}

A fenti kód leírása:

  • Először az ArrayList jön létre, majd a „ 2 ' beszúrva a ' tartományig húsz ' segítségével a ' számára ” hurok.
  • Ezután deklaráljon egy „ iterátor ” metódusobjektum az ArrayList elemeinek megjelenítéséhez a konzolon.
  • Ezután használja a „ hasNext ()” metódust az iterátor objektummal, hogy végighaladjon az összes ArrayList elemen.
  • Ezt követően a „ ha ' utasítás a '-vel teljesen osztható elemek ellenőrzésére szolgál 3 ' benne.
  • Aztán a ' távolítsa el ()” metódussal törölheti azokat az elemeket, amelyeket a „ ha ' nyilatkozat.
  • Végül a frissített ArrayList a „ számára ” hurok.

Az összeállítás után:



A kimenet megjeleníti a konkrét elemeket, amelyek hárommal oszthatók, és iterátor módszerrel eltávolíthatók az ArrayList-ből.

2. példa: Az összes elem eltávolítása a gyűjteményből

A gyűjtemény összes megmaradó elemének eltávolításához az iterátor módszer használható a „ távolítsa el ()” módszert az alábbiak szerint:

import java.util.* ;
osztály Üresség
{
nyilvános statikus üres fő- ( Húr arg [ ] )
{
Vektor < Egész szám > tesztvektor = új Vektor < Egész szám > ( ) ;
tesztvektor. add hozzá ( 18 ) ;
tesztvektor. add hozzá ( huszonegy ) ;
tesztvektor. add hozzá ( 25 ) ;
tesztvektor. add hozzá ( 27 ) ;
tesztvektor. add hozzá ( 30 ) ;

Iterátor < Egész szám > áthalad = tesztvektor. iterátor ( ) ;
Rendszer . ki . nyomtatás ( 'Meglévő elemek:' ) ;
míg ( áthalad. hasNext ( ) )
Rendszer . ki . nyomtatás ( áthalad. következő ( ) + ' ' ) ;
Rendszer . ki . nyomtatás ( ' \n A tesztvektor tartalmazza: ' + tesztvektor. méret ( ) + 'elemek' ) ;
áthalad = tesztvektor. iterátor ( ) ;
míg ( áthalad. hasNext ( ) )
{
Rendszer . ki . nyomtatás ( ' \n eltávolítása ' + áthalad. következő ( ) ) ;
áthalad. távolítsa el ( ) ;
}
Rendszer . ki . println ( ' \n Most a tesztvektor tartalmazza ' + tesztvektor. méret ( ) + 'elemek' ) ;
}
}

A kód leírása:

  • Először deklarálja és inicializálja Vektor ' ál egész típusú értékekkel a ' add hozzá ()” módszerrel.
  • Ezután hozzon létre egy iterátor metódust, amely a ' hasNext ()” és „ következő ()” módszerekkel. Megjeleníti a meglévő adatelemeket és a hozzájuk tartozó méreteket.
  • Ezután használja a „ hasNext ()” tulajdonság az iterátor objektum mentén a „ míg ” hurok.
  • Ezt követően használja a „ következő ()” metódussal válassza ki a következő elemet, majd a távolítsa el () metódus hívja meg az egyes fogadó elemek törlését.
  • Ily módon a Vector összes eleme eltávolításra kerül, és a vektor mérete megjelenik a konzolon.

A kód leírása:

A fenti kód megerősíti, hogy a gyűjtemény minden elemét eltávolították.

3. példa: Elem eltávolítása a ListIterator segítségével

A ListIterator az iterátor módszerhez hasonlóan működik. A ListIterator mindkét oldalon halad előre és hátrafelé. Ha bizonyos elemeket szeretne eltávolítani a gyűjteményből a Java ListIterator segítségével, látogassa meg az alábbi kódot:

import java.util.ArrayList ;
import java.util.ListIterator ;
nyilvános osztály ListIteratorDemo {

//A main() metódus inicializálása
nyilvános statikus üres fő- ( Húr [ ] args )
{ //Az ArrayList deklarálása és inicializálása
Tömb lista < Húr > felnőni = új Tömb lista < Húr > ( ) ;
felnőni add hozzá ( 'Kapucni' ) ;
felnőni add hozzá ( 'Pólus' ) ;
felnőni add hozzá ( 'Henleys' ) ;
felnőni add hozzá ( 'Izzad' ) ;
felnőni add hozzá ( 'Alkalmi' ) ;
felnőni add hozzá ( 'Luxus' ) ;
felnőni add hozzá ( 'Dryfit' ) ;


ListIterator < Húr > liter = felnőni listIterator ( ) ;
Rendszer . ki . println ( 'Lista eltávolítás előtt' ) ;
számára ( int én = 0 ; én < felnőni méret ( ) ; én ++ )
Rendszer . ki . nyomtatás ( felnőni kap ( én ) + ' ' ) ;
míg ( liter. hasNext ( ) ) {
ha ( liter. következő ( ) . egyenlő ( 'Izzad' ) ) {
liter. távolítsa el ( ) ;
}
}
Rendszer . ki . println ( ' \n Lista eltávolítás után' ) ;
számára ( int én = 0 ; én < felnőni méret ( ) ; én ++ )
Rendszer . ki . nyomtatás ( felnőni kap ( én ) + ' ' ) ;
}
}

A fenti kód leírása:

  • Először deklarálja és inicializálja az ArrayList-et a dummy String típusú értékekkel, és jelenítse meg az összes elemet a konzolon a ' számára ” hurok.
  • Ezután hozzon létre egy objektumot, amely a ' hasNext ()” módszer a „ míg ” hurok. Áthalad minden lakó elemen.
  • Aztán a ' ha ” utasítást használunk, amely minden egyes elemet adott szöveggel ellenőrzi, ha az elem megegyezik a „ távolítsa el ()” módszert hívják. Törli az adott elemet a „ aArt ” nevű ArrayList.
  • Végül jelenítse meg a módosított ArrayList-et a konzolon.

Összeállítás után:

A pillanatkép megerősíti, hogy a megadott adatelem eltávolításra került a gyűjteményből a ListIterator segítségével.

Következtetés

Az elem gyűjteményből való eltávolításához a „ távolítsa el Az iterátor ()” metódusát használjuk. Az iterátor végighalad az ArrayList listán, hogy megtalálja a megcélzott adatokat. Miután megtalálta a „ távolítsa el ()” módszerrel távolítható el az adott adatelem. Szabványosított technikát kínál a különböző gyűjteményekben, és megakadályozza a problémákat és számos kivétel előfordulását, mint pl. ConcurrentModificationException ”. Ezzel együtt a „ ListIterator ” is hasznos lehet.