7 Unterschied zwischen Iterator und Aufzählung

Contents

Iterator

Ein Iterator ist ein Objekt, das es einem Programmierer ermöglicht, einen Container zu durchlaufen, insbesondere Listen. Es wird mit den meisten Sammlungsklassen wie ArrayList, LinkedList, HashSet, TreeMap, TreeSet usw. verwendet, aber Iteratoren können nicht mit älteren Klassen wie Vectors, Stack, HashTables usw. verwendet werden. Iterator ermöglicht das Entfernen von Elementen aus der zugrunde liegenden Sammlung während der Iteration mithilfe seiner remove()-Methode.

Iteratoren haben drei Hauptmethoden:

  • hasNext(): eine Methode vom booleschen Typ, die true oder false zurückgibt, wenn die Sammlung nach dem aktuellen Element weitere Elemente enthält.
  • next(): eine Objekttypmethode, die das nächste Element des aktuellen Elements auswählt.
  • remove(): Mit dieser Methode können Sie jedes Element aus der Sammlung entfernen, selbst während Sie sie durchlaufen.

Was Sie über Iterator wissen müssen

  • Iterator wurde später eingeführt und wird mit den meisten Sammlungsklassen wie ArrayList, LinkedList, HashSet, TreeMap, TreeSet usw. verwendet, aber Iteratoren können nicht mit Legacy-Klassen wie Vectors, Stack, HashTables usw. verwendet werden.
  • Iterator ist von Natur aus ausfallsicher. Sie löst zur Laufzeit ConcurrentModificationException aus, wenn eine Collection während der Iteration anders als ihre eigene remove()-Methode geändert wird.
  • Der Iterator kann Änderungen vornehmen, zB mit der Methode remove(), er entfernt das Element während des Durchlaufs aus der Collection.
  • Iterator wurde in der zweiten Version von Java eingeführt, dh JDK 1.2.
  • Einschränkungen von Iterator werden von ListIterator gelöst.
  • Das Objekt von Iterator kann die Elemente aus der Sammlung lesen und entfernen.

Aufzählung

Enumeration ist eine Schnittstelle, die es ermöglicht, jeweils ein Element in einer Sammlung von Objekten abzurufen. Enumeration wurde früher eingeführt und wird mit Legacy-Klassen wie Vectors, Stack, HashTables, Properties verwendet, kann aber auch mit den anderen Auflistungsklassen verwendet werden. Wir können keine Elemente aus einer Auflistung entfernen, wenn Enumerator verwendet wird.

Aufzählungen haben zwei Hauptmethoden:

  • hasMoreElements(): eine Methode vom booleschen Typ, die true oder false zurückgibt, wenn die Sammlung nach dem aktuellen Element weitere Elemente enthält. Sie ähnelt der Methode hasNext().
  • nextElement(): eine Objekttypmethode, die das nächste Element des aktuellen Elements auswählt. Sie ähnelt der Methode next().

Was Sie über Aufzählung wissen müssen

  • Enumeration wurde früher eingeführt und wird mit Legacy-Klassen wie Vectors, Stack, HashTables, Properties verwendet, kann aber auch mit den anderen Auflistungsklassen verwendet werden.
  • Aufzählungen sind von Natur aus ausfallsicher. Es löst keine ConcurrentModificationException aus, wenn eine Collection während des Durchlaufs geändert wird.
  • Enumeration wird als schreibgeschützte Schnittstelle betrachtet, man kann keine Änderungen an Collection vornehmen, während die Elemente der Collection durchlaufen werden.
  • Die Aufzählung wurde in der ersten Version von Java, dh JDK 1.0, eingeführt.
  • Einschränkungen der Aufzählung werden von Iterator gelöst.
  • Aufzählungsobjekt hat nur schreibgeschützten Zugriff auf die Elemente in der Auflistung.

Lesen Sie auch : Unterschied HashTable und HashMap

Unterschied zwischen Iterator und Aufzählung in Tabellenform

VERGLEICHSGRUNDLAGEITERATORAUFZÄHLUNG
BeschreibungIterator wurde später eingeführt und wird mit den meisten Sammlungsklassen verwendet.Die Enumeration wurde früher eingeführt und wird mit Legacy-Klassen verwendet.
NaturIterator ist von Natur aus ausfallsicher.Aufzählungen sind von Natur aus ausfallsicher.
ÄnderungenDer Iterator kann Änderungen vornehmen, zB mit der Methode remove(), er entfernt das Element während des Durchlaufs aus der Collection.Enumeration wird als schreibgeschützte Schnittstelle betrachtet, man kann keine Änderungen an Collection vornehmen, während die Elemente der Collection durchlaufen werden.
EinführungIterator wurde in der zweiten Version von Java eingeführt, dh JDK 1.2.Die Aufzählung wurde in der ersten Version von Java, dh JDK 1.0, eingeführt.  
EinschränkungenEinschränkungen von Iterator werden von ListIterator gelöst.Einschränkungen der Aufzählung werden von Iterator gelöst.
ObjektlesenDas Objekt von Iterator kann die Elemente aus der Sammlung lesen und entfernen.Aufzählungsobjekt hat nur schreibgeschützten Zugriff auf die Elemente in der Auflistung.
MethodenIteratoren haben drei Hauptmethoden: hasNext()next()remove()Aufzählungen haben zwei Hauptmethoden: hasMoreElements()nextElement()

osky