verschil tussen Iterator en Enumeratie-Interface in Java

Iterator vs Enumerationde drie cursors die worden gebruikt om één voor één toegang te krijgen tot de elementen uit elke verzameling zijn Enumeration, Iterator en ListIterator. Hoewel, Iterator en Enumerator zijn bedoeld voor het uitvoeren van hetzelfde werk. Toch zijn ze verschillend van elkaar in die zin dat Enumeration alleen-lezen toegang heeft tot de elementen in de collectie. Aan de andere kant kan Iterator lezen en de elementen uit de collectie verwijderen.

het belangrijke verschil tussen de Iterator en Enumeratie is dat de Enumeratie niet kan worden toegepast op de collectieklassen het is alleen van toepassing op de oudere klassen. Aan de andere kant, de Iterator is van toepassing op de collectieklassen vandaar, het wordt aangeduid als een universele cursor. Laten we leren wat meer verschil tussen Iterator en opsomming met behulp van de vergelijking grafiek hieronder weergegeven.

inhoud: Iterator Vs Opsomming

  1. het overzicht
  2. Definitie
  3. – Toets Verschillen
  4. Conclusie

vergelijkingstabel

Basis voor Vergelijking Iterator van Opsomming
Basic Iterator is een universele cursor als het van toepassing is voor alle verzameling klassen. Enumeratie is geen universele cursor omdat het alleen van toepassing is op oudere klassen.
Access met behulp van Iterator kunt u de elementen in de verzameling lezen en verwijderen. met Enumeratie kunt u alleen de elementen in de verzameling lezen.
Methods public boolean hasnext ();
public object next ();
public void remove();
public boolean hasMoreElements ();
public object nextElement();
Limitation Iterator is een unidirectionele forward access cursor.
Iterator kan geen enkel element in de verzameling vervangen.
Iterator kan geen nieuw element toevoegen aan de verzameling.
Enumeratie is een unidirectionele voorwaartse toegangscursor.
Enumeratie ondersteunt alleen oudere klassen.
opsomming heeft alleen alleen-lezen toegang tot de elementen in een verzameling.
overwinnen om de beperkingen van Iterator te overwinnen moet u kiezen voor ListIterator. om de beperkingen van Enumeratie te overwinnen moet u kiezen voor Iterator.

definitie van Iterator Interface

Iterator is een interface in het collection framework. Omdat Iterator van toepassing is op alle collectieklassen, wordt het een universele cursor genoemd. Het is de cursor die wordt gebruikt om één voor één toegang te krijgen tot de elementen in de verzameling. Met behulp van Iterator kunt u de elementen uit de collectie ophalen en als u wilt kunt u ook de elementen uit de collectie verwijderen. Het object van Iterator kan worden gemaakt zoals hieronder aangegeven.

Iterator itr = Collc.iterator();

de variabele itr is een object van Iterator. Collc is elk collectieobject dat moet worden gefietst of itereerd met behulp van het object (itr) van de Iterator. De iterator() is de methode die gebruikt wordt om een iterator object te maken. Er zijn drie methoden in de Iterator zoals hieronder weergegeven.

public boolean hasnext();public Object next();public void remove();

de eerste methode hasnext () controleert of de verzameling elementen bevat of niet. Als de collectie de elementen heeft, zal het waar teruggeven anders zal het onwaar teruggeven. De tweede methode next () wordt gebruikt om het volgende element in de collectie op te halen. De derde methode remove () wordt gebruikt om de elementen uit de collectie te verwijderen.

Iterator kan in een verzameling alleen in de voorwaartse richting reizen. Iterator kan het element uit de collectie verwijderen, maar heeft niet de mogelijkheid om een bestaand element te vervangen door een nieuw element noch kan het een nieuw element toevoegen aan de collectie. Om deze beperkingen te overwinnen kunt u kiezen voor ListIterator interface.

definitie van Enumeratie-Interface

Enumeratie is de interface die van toepassing is op de oudere klassen en kan niet worden toegepast op een collectieklasse. Daarom is het geen universele cursor. Enumeration haalt het element (object) één voor één uit de verzameling. Enumeration object heeft alleen-lezen toegang tot de elementen van de verzameling. Enumeration object kan geen enkel element uit de verzameling wijzigen. Laten we eens kijken hoe je een enumeration object kunt maken, neem een kijkje.

Enumeration er = Vect.elements();

de variabele er is een object van opsomming. De Vect is het object van de vectorklasse dat moet worden doorkruist door het object (er) van Enumeratie. Het method element () wordt gebruikt om een object van Enumeratie te maken. Er zijn slechts twee methoden in de Enumeration interface zoals hieronder getoond.

public boolean hasMoreElements();public nextElement();

de eerste methode hasMoreElements () wordt gebruikt om de status van de verzameling te controleren of deze de elementen bevat of leeg is. Als de collectie de elementen bevat, geeft de methode hasMoreElements() true else false terug. De tweede methode nextElement () wordt gebruikt om de elementen uit de collectie één voor één op te halen.

wanneer het doorlopen is voltooid, gooit de methode nextElement() geen dergelijk Elementexception. Het object Enumeration reist alleen in de voorwaartse richting. Het kan geen element in de collectie toevoegen of verwijderen of vervangen. Om deze beperkingen van de opsomming te overwinnen, moet u kiezen voor Iterator.

belangrijkste verschillen tussen Iterator en Enumeratie in Java

  1. het belangrijkste verschil tussen Iterator en Enumeratie is dat Iterator een universele cursor is, die kan worden gebruikt voor het herhalen van een collectieobject. Aan de andere kant wordt de opsomming alleen gebruikt voor het doorkruisen van object van de legacy-klasse.
  2. Enumeration object heeft alleen alleen-lezen toegang tot de elementen in de verzameling. Het object van Iterator kan echter de elementen uit de collectie lezen en verwijderen.
  3. er zijn twee methoden voor iterator, één om de status van de verzameling te controleren en één om de elementen uit de verzameling op te halen. Naast Enumeratie methoden Iterator heeft nog een methode om de elementen uit de collectie te verwijderen.
  4. beperkingen van Enumeratie zijn het is een unidirectionele cursor, het heeft alleen-lezen toegang, en het kan worden toegepast op de collectieklassen. Aan de andere kant kan Iterator geen nieuw element in de verzameling vervangen of toevoegen en zoals Enumeratie zijn ook doorsturen unidirectionele cursor.
  5. beperking van Enumeratie wordt opgelost door Iterator en beperkingen van Iterator worden opgelost door ListIterator.

conclusie

tegenwoordig worden Iterator en ListItertaor cursor gebruikt omdat zij de universele cursor zijn en veel efficiënter zijn dan Enumeratie.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.