Differenza Tra Iteratore e l’Enumerazione Interfaccia in Java

Iterator vs EnumerationI tre cursori utilizzati per accedere agli elementi da qualsiasi raccolta, uno per uno, sono Enumerazione, Iteratore e ListIterator. Tuttavia, Iterator ed Enumerator sono pensati per eseguire lo stesso lavoro. Tuttavia, sono distinti l’uno dall’altro nel senso che l’enumerazione ha accesso in sola lettura agli elementi della raccolta. Dall’altro lato, Iterator può leggere e rimuovere gli elementi dalla raccolta.

L’importante differenza tra l’iteratore e l’enumerazione è che l’enumerazione non può essere applicata alle classi di raccolta è applicabile solo alle classi legacy. D’altra parte, l’Iteratore è applicabile alle classi di raccolta quindi, viene indicato come un cursore universale. Impariamo qualche altra differenza tra Iteratore ed enumerazione con l’aiuto del grafico di confronto mostrato di seguito.

Contenuto: Iteratore Vs Enumeration

  1. tabella di Confronto di
  2. Definizione
  3. Differenze Chiave
  4. Conclusione

Confronto Grafico

Base per il Confronto Iterator Enumerazione
Di base Iteratore è un universale cursore in quanto è applicabile per tutte le classi di raccolta. L’enumerazione non è un cursore universale in quanto si applica solo alle classi legacy.
Accesso Utilizzando Iterator è possibile leggere e rimuovere gli elementi nella raccolta. Utilizzando l’enumerazione è possibile leggere solo gli elementi della raccolta.
Metodi public boolean hasnext();
oggetti pubblica next();
public void remove();
public boolean hasMoreElements();
pubblica oggetto nextElement();
Limitazione Iteratore è un avanti unidirezionale accesso cursore.
Iterator non può sostituire alcun elemento nella raccolta.
Iteratore non può aggiungere alcun nuovo elemento nella raccolta.
L’enumerazione è un cursore di accesso in avanti unidirezionale.
L’enumerazione supporta solo le classi legacy.
L’enumerazione ha accesso solo in sola lettura agli elementi di una raccolta.
Superare Per superare i limiti di Iterator è necessario optare per ListIterator. Per superare i limiti dell’enumerazione è necessario optare per Iterator.

Definizione di interfaccia iteratore

Iteratore è un’interfaccia nel framework di raccolta. Poiché l’iteratore è applicabile a tutte le classi di raccolta, viene indicato come cursore universale. È il cursore utilizzato per accedere agli elementi della raccolta uno per uno. Utilizzando Iterator, è possibile recuperare gli elementi dalla raccolta e, se lo si desidera, è anche possibile rimuovere gli elementi dalla raccolta. L’oggetto dell’Iteratore può essere creato come indicato di seguito.

Iterator itr = Collc.iterator();

La variabile itr è un oggetto di Iteratore. Collc è qualsiasi oggetto di raccolta che deve essere ciclato o iterato utilizzando l’oggetto (itr) dell’iteratore. Iterator() è il metodo utilizzato per creare un oggetto iteratore. Ci sono tre metodi nell’iteratore come mostrato di seguito.

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

Il primo metodo hasnext() controlla se la raccolta contiene elementi o meno. Se la raccolta ha gli elementi, restituirà true else restituirà false. Il secondo metodo next () viene utilizzato per recuperare l’elemento successivo nella raccolta. Il terzo metodo remove () viene utilizzato per eliminare gli elementi dalla raccolta.

Iterator può viaggiare in una raccolta solo nella direzione in avanti non può tornare indietro durante il viaggio. Iterator può rimuovere l’elemento dalla raccolta ma non ha la capacità di sostituire qualsiasi elemento esistente con un nuovo elemento né può aggiungere alcun nuovo elemento nella raccolta. Per superare queste limitazioni si può andare per l’interfaccia ListIterator.

Definizione dell’interfaccia di enumerazione

L’enumerazione è l’interfaccia applicabile alle classi legacy e non può essere applicata a nessuna classe di raccolta. Quindi, non è un cursore universale. Enumerazione recupera l’elemento (oggetto) dalla raccolta uno per uno. Oggetto Enumerazione ha accesso di sola lettura agli elementi della raccolta. L’oggetto Enumerazione non può modificare alcun elemento dalla raccolta. Vediamo come creare oggetto enumerazione, dare un’occhiata.

Enumeration er = Vect.elements();

La variabile er è un oggetto di Enumerazione. Il Vect è l’oggetto della classe vettoriale che deve essere attraversato dall’oggetto (er) di Enumerazione. L’elemento metodo() viene utilizzato per creare un oggetto di enumerazione. Ci sono solo due metodi nell’interfaccia di enumerazione come mostrato di seguito.

public boolean hasMoreElements();public nextElement();

Il primo metodo hasMoreElements() viene utilizzato per verificare lo stato della raccolta se contiene gli elementi o se è vuota. Se la raccolta ha gli elementi il metodo hasMoreElements() restituisce true else restituisce false. Il secondo metodo nextElement () viene utilizzato per recuperare gli elementi dalla raccolta uno per uno.

Quando l’attraversamento è completo, il metodo nextElement () genera NoSuchElementException. L’oggetto Enumerazione viaggia solo nella direzione in avanti. Non può aggiungere o rimuovere o sostituire alcun elemento della collezione. Per superare queste limitazioni dell’enumerazione, è necessario optare per Iterator.

Differenze chiave tra Iteratore ed enumerazione in Java

  1. La differenza principale tra Iteratore ed Enumerazione è che Iteratore è un cursore universale, può essere utilizzato per iterare qualsiasi oggetto di raccolta. D’altra parte, l’enumerazione viene utilizzata solo per attraversare l’oggetto della classe legacy.
  2. Oggetto Enumerazione ha accesso solo in sola lettura agli elementi della raccolta. Tuttavia, l’oggetto dell’Iteratore può leggere e rimuovere gli elementi dalla raccolta.
  3. Esistono due metodi di iteratore uno per controllare lo stato della raccolta e uno per recuperare gli elementi dalla raccolta. Oltre ai metodi di enumerazione Iterator ha un altro metodo per rimuovere gli elementi dalla raccolta.
  4. Le limitazioni dell’enumerazione sono che è un cursore unidirezionale in avanti, ha accesso di sola lettura e può essere applicato alle classi di raccolta. D’altra parte, l’Iteratore non può sostituire o aggiungere alcun nuovo elemento nella raccolta e, come l’enumerazione, anche il cursore unidirezionale in avanti.
  5. La limitazione dell’enumerazione viene risolta da Iterator e le limitazioni di Iterator vengono risolte da ListIterator.

Conclusione

Al giorno d’oggi, Iterator e ListItertaor cursor vengono utilizzati in quanto sono il cursore universale e sono molto efficienti dell’enumerazione.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.