Wie verwende ich die Iterator-Methode, um ein Element aus einer Sammlung in Java zu entfernen?

Wie Verwende Ich Die Iterator Methode Um Ein Element Aus Einer Sammlung In Java Zu Entfernen



Der ' Iterator Die Methode bietet eine sichere und einfache Möglichkeit, bestimmte Datenelemente aus einer Sammlung zu entfernen oder zu löschen, während diese durchlaufen wird. Es verhindert das Auftreten von „ ConcurrentModificationException ” was entsteht, wenn die erweiterte for-Schleife versucht, die Sammlung zu ändern. Es speichert die Spur der aktuellen Position und bietet Programmierern die Möglichkeit, vorwärts zu gehen und die zugrunde liegenden Elemente nach Bedarf zu entfernen.

Dieser Blog demonstriert den Prozess zum Entfernen eines Elements aus einer Sammlung mithilfe der Iterator-Methode.







Wie verwende ich die Iterator-Methode, um ein Element aus einer Sammlung in Java zu entfernen?

Die Iteratormethode ist unidirektional und kann mit verschiedenen Sammlungstypen verwendet werden, darunter „ ArrayList“, „LinkedList “ usw. Es bietet eine einheitliche Möglichkeit, Elemente aus jeder Sammlung zu entfernen, die das „ implementiert Wiederholbar ” Schnittstelle.



Schauen wir uns einige Beispiele an, um die Iterator-Methode besser zu verstehen:



Beispiel 1: Entfernen bestimmter Elemente aus der Sammlung mithilfe der Iterator-Methode

Die Iterator-Methode kann verwendet werden mit „ Wenn ”-Anweisungen oder Schleifen zur Auswahl der angegebenen Elemente. Und dann das „ entfernen ()“-Methode wird verwendet, um den Löschvorgang wie unten gezeigt durchzuführen:





importieren java.util.* ;
Klasse IterExam
{
öffentlich statisch Leere hauptsächlich ( Zeichenfolge [ ] args )
{
Anordnungsliste < Ganze Zahl > demoArrList = neu Anordnungsliste < Ganze Zahl > ( ) ;
für ( int ich = 0 ; ich <= zwanzig ; ich = ich + 2 )
{
demoArrList. hinzufügen ( ich ) ;
}
Iterator < Ganze Zahl > itr = demoArrList. Iterator ( ) ;
System . aus . println ( „Bereitgestellte ArrayList:“ ) ;

für ( int ich = 0 ; ich < demoArrList. Größe ( ) ; ich ++ )
{
System . aus . drucken ( demoArrList. erhalten ( ich ) + ' ' ) ;
}
während ( itr. hasNext ( ) )
{
Wenn ( itr. nächste ( ) % 3 == 0 )
itr. entfernen ( ) ;
}
System . aus . println ( ' \N Nach dem Entfernen ungerader ArrayList-Elemente“ ) ;
für ( int ich = 0 ; ich < demoArrList. Größe ( ) ; ich ++ )
{
System . aus . drucken ( demoArrList. erhalten ( ich ) + ' ' ) ;
}
}
}

Beschreibung des obigen Codes:

  • Zuerst wird die ArrayList erstellt und dann ein Vielfaches von „ 2 ” wird bis zum Bereich von „ eingefügt zwanzig ” mit Hilfe der „ für ” Schleife.
  • Als nächstes deklarieren Sie ein „ Iterator ”-Methodenobjekt, um die Elemente von ArrayList auf der Konsole anzuzeigen.
  • Nutzen Sie dann die „ hasNext ()“-Methode mit dem Iteratorobjekt zum Durchlaufen aller vorhandenen ArrayList-Elemente.
  • Danach wird das „ Wenn Die Anweisung wird verwendet, um die Elemente zu überprüfen, die vollständig durch „teilbar“ sind. 3 ' im Inneren.
  • Dann ist die ' entfernen ()“-Methode wird verwendet, um die Elemente zu löschen, die von der „ Wenn ' Stellungnahme.
  • Am Ende wurde die aktualisierte ArrayList mit dem „ für ” Schleife.

Nach der Zusammenstellung:



Die Ausgabe zeigt die spezifischen Elemente an, die durch drei teilbar sind und mithilfe einer Iteratormethode aus der ArrayList entfernt werden.

Beispiel 2: Entfernen aller Elemente aus der Sammlung

Um alle vorhandenen Elemente der Sammlung zu entfernen, kann die Iterator-Methode zusammen mit ihrem „“ verwendet werden. entfernen ()“-Methode wie unten gezeigt:

importieren java.util.* ;
Klasse Leere
{
öffentlich statisch Leere hauptsächlich ( Zeichenfolge arg [ ] )
{
Vektor < Ganze Zahl > testVector = neu Vektor < Ganze Zahl > ( ) ;
testVector. hinzufügen ( 18 ) ;
testVector. hinzufügen ( einundzwanzig ) ;
testVector. hinzufügen ( 25 ) ;
testVector. hinzufügen ( 27 ) ;
testVector. hinzufügen ( 30 ) ;

Iterator < Ganze Zahl > Traverse = testVector. Iterator ( ) ;
System . aus . drucken ( „Vorhandene Elemente:“ ) ;
während ( Traverse. hasNext ( ) )
System . aus . drucken ( Traverse. nächste ( ) + ' ' ) ;
System . aus . drucken ( ' \N Der testVector enthält „ + testVector. Größe ( ) + „Elemente“ ) ;
Traverse = testVector. Iterator ( ) ;
während ( Traverse. hasNext ( ) )
{
System . aus . drucken ( ' \N entfernen „ + Traverse. nächste ( ) ) ;
Traverse. entfernen ( ) ;
}
System . aus . println ( ' \N Jetzt enthält der testVector „ + testVector. Größe ( ) + „Elemente“ ) ;
}
}

Beschreibung des Codes:

  • Deklarieren und initialisieren Sie zunächst „ Vektor ” mit Dummy-Integer-Typwerten unter Verwendung des „ hinzufügen ()' Methode.
  • Erstellen Sie als Nächstes eine Iteratormethode, die „ hasNext ()' Und ' nächste ()“-Methoden. Es zeigt die vorhandenen Datenelemente und ihre entsprechende Größe an.
  • Nutzen Sie dann die „ hasNext ()“-Eigenschaft entlang des Iteratorobjekts innerhalb der „ während ” Schleife.
  • Nutzen Sie danach die Funktion „ nächste ()“-Methode, um das kommende Element auszuwählen, und dann die entfernen ()-Methode wird aufgerufen, um jedes empfangende Element zu löschen.
  • Auf diese Weise werden alle Elemente des Vektors entfernt und die Größe des Vektors wird auf der Konsole angezeigt.

Beschreibung des Codes:

Der obige Code bestätigt, dass alle Elemente aus der Sammlung entfernt wurden.

Beispiel 3: Element mit ListIterator entfernen

Der ListIterator funktioniert ähnlich wie die Iterator-Methode. Der ListIterator führt eine beidseitige Durchquerung in Vorwärts- und Rückwärtsrichtung durch. Um bestimmte Elemente mit dem ListIterator in Java aus der Sammlung zu entfernen, rufen Sie den folgenden Code auf:

importieren java.util.ArrayList ;
importieren java.util.ListIterator ;
öffentlich Klasse ListIteratorDemo {

//Initialisierung der main()-Methode
öffentlich statisch Leere hauptsächlich ( Zeichenfolge [ ] args )
{ //Deklarieren und Initialisieren der ArrayList
Anordnungsliste < Zeichenfolge > aufgewachsen = neu Anordnungsliste < Zeichenfolge > ( ) ;
aufgewachsen hinzufügen ( 'Kapuzenpullover' ) ;
aufgewachsen hinzufügen ( 'Pole' ) ;
aufgewachsen hinzufügen ( „Henleys“ ) ;
aufgewachsen hinzufügen ( 'Schweiß' ) ;
aufgewachsen hinzufügen ( 'Lässig' ) ;
aufgewachsen hinzufügen ( 'Luxus' ) ;
aufgewachsen hinzufügen ( „Dryfit“ ) ;


ListIterator < Zeichenfolge > Liter = aufgewachsen listIterator ( ) ;
System . aus . println ( „Vor dem Entfernen auflisten“ ) ;
für ( int ich = 0 ; ich < aufgewachsen Größe ( ) ; ich ++ )
System . aus . drucken ( aufgewachsen erhalten ( ich ) + ' ' ) ;
während ( Liter. hasNext ( ) ) {
Wenn ( Liter. nächste ( ) . gleicht ( 'Schweiß' ) ) {
Liter. entfernen ( ) ;
}
}
System . aus . println ( ' \N Liste nach dem Entfernen“ ) ;
für ( int ich = 0 ; ich < aufgewachsen Größe ( ) ; ich ++ )
System . aus . drucken ( aufgewachsen erhalten ( ich ) + ' ' ) ;
}
}

Beschreibung des obigen Codes:

  • Deklarieren und initialisieren Sie zunächst die ArrayList mit den Dummy-String-Typwerten und zeigen Sie alle Elemente auf der Konsole mit dem Befehl „ an. für ” Schleife.
  • Als nächstes erstellen Sie ein Objekt, das „ hasNext ()“-Methode innerhalb der „ während ” Schleife. Es durchdringt alle vorhandenen Elemente.
  • Dann ist die ' Wenn ”-Anweisung wird verwendet, die jedes Element mit einem bestimmten Text überprüft, wenn dieses Element mit dem „ übereinstimmt. entfernen ()“-Methode aufgerufen wird. Es löscht das spezifische Element aus der „ aArt ” mit dem Namen ArrayList.
  • Zeigen Sie am Ende die geänderte ArrayList auf der Konsole an.

Nach der Zusammenstellung:

Der Snapshot bestätigt, dass das angegebene Datenelement mithilfe von ListIterator aus der Sammlung entfernt wurde.

Abschluss

Um das Element aus einer Sammlung zu entfernen, muss „ entfernen ()“-Methode des Iterators verwendet. Der Iterator durchläuft die ArrayList, um die Zieldaten zu finden. Sobald es gefunden wurde, wird das „ entfernen ()“-Methode wird verwendet, um dieses spezifische Datenelement zu entfernen. Es bietet eine standardisierte Technik über verschiedene Sammlungen hinweg und verhindert Probleme und das Auftreten mehrerer Ausnahmen wie „ ConcurrentModificationException “. Dazu kommt noch das „ ListIterator “ kann auch hilfreich sein.