Cos'è Iterator in Java e come usarlo?



Il blog Iterator in Java ti fornirà un'adeguata introduzione a cos'è un iteratore e come usarlo in Java con alcuni esempi

Se stai lavorando su un file e dì che vuoi stampare una sequenza, è qui che entra in gioco Iterator in Java. In questo modo puoi ottenere la sequenza anche senza aggiungere l'istruzione print per ogni riga. Quindi, impariamo a conoscere Iterator in .

come fare i poteri in java

Di seguito sono riportati gli argomenti che tratterò in questo modulo:





Iniziamo!

Cos'è un iteratore?

Java supporta principalmente quattro diversi cursori. Sono cioè:



  • Enumerazione
  • Iteratore
  • ListIterator
  • Splitter

Ciascuno di questi cursori Java presenta alcuni vantaggi e svantaggi. Ci concentreremo su Iterator in questo articolo.

Ora, cos'è un iteratore in Java?

Iteratore è un'interfaccia che appartiene a un framework di raccolta. Ti consente di attraversare la raccolta, accede all'elemento dati e rimuove gli elementi dati della raccolta.



È anche considerato un iteratore universale in quanto puoi applicarlo a qualsiasi file oggetto. Utilizzando un iteratore, è possibile eseguire operazioni di lettura e rimozione. Questa è una versione migliorata di Enumerazione con le funzionalità aggiuntive di rimovibilità di un elemento.

Metodi Java Iterator

L'iteratore Java ha 4 metodi in totale. Vediamoli in dettaglio.

cifre inverse di un intero pitone
MetodiDescrizione
forEachRemaining (Consumeraction)Esegue le azioni su ogni elemento fino a quando ea meno che tutti gli elementi non siano stati elaborati. Anche fino a quando non viene generata un'eccezione dall'azione.
hasNext ()Questo ritorna un valore vero se durante l'iterazione si incontra un numero elevato di elementi.
Il prossimo()Questo ritorna il successivo elemento specificato durante l'iterazione.
rimuovere()Questo metodo rrimuove l'elemento corrente. Lancia IllegalStateException se viene effettuato un tentativo di chiamare remove () che non è preceduto da una chiamata a next ().
booleano hasNext ()Restituisce vero se l'iterazione ha più elementi.

Esempio:

class Metodo {public static void main (String [] args) ArrayList list = new ArrayList () list.add ('E') list.add ('D') list.add ('U') list.add ('R ') list.add (' E ') list.add (' K ') list.add (' A ') // Iteratore per attraversare la lista Iteratore iteratore = list.iterator () System.out.println (' Elenca elementi : ') while (iterator.hasNext ()) System.out.print (iterator.next () +' ') System.out.println ()}}

Uscita: EDUREKA

Diamo un'occhiata a ListIterator in Java.

ListIterator in Java

ListIterator in Java è un iteratore che consente agli utenti di attraversare la raccolta in entrambe le direzioni. Contiene i seguenti metodi:

MetodiMetodo e descrizione
void add (Object obj) Inserisce obj nell'elenco davanti all'elemento che verrà restituito dalla successiva chiamata a next ().
booleano hasNext () Restituisce vero se è presente l'elemento successivo. In caso contrario, restituisce false.
booleano hasPrevious () Restituisce vero se è presente un elemento precedente. In caso contrario, restituisce false.
Oggetto successivo () Restituisce l'elemento successivo. Se non è presente l'elemento successivo, viene generata un'eccezione NoSuchElementException.
int nextIndex () Restituisce l'indice dell'elemento successivo. Se non è presente l'elemento successivo, restituisce la dimensione dell'elenco.
Oggetto precedente () Restituisce l'elemento precedente. Se non è presente un elemento precedente, viene generata un'eccezione NoSuchElementException.
int previousIndex () Restituisce l'indice dell'elemento precedente. Se non è presente un elemento precedente, restituisce -1.
void remove () Rimuove l'elemento corrente dall'elenco. Viene lanciata un'eccezione IllegalStateException se remove () viene chiamato prima di next () o previous ().
void set (Object obj) Assegna obj all'elemento corrente. Questo è l'ultimo elemento restituito da una chiamata a next () o previous ().

Esempio:

public class Lists {public static void main (String args []) {// Crea un array list ArrayList al = new ArrayList () // aggiunge elementi all'array list al.add ('E') al.add ('D ') al.add (' U ') al.add (' R ') al.add (' E ') al.add (' K ') al.add (' A ') // Usa l'iteratore per visualizzare i contenuti di al System.out.print ('Contenuti originali di al:') Iterator itr = al.iterator () while (itr.hasNext ()) {Object element = itr.next () System.out.print (element + '' )} System.out.println () // Modifica gli oggetti iterati ListIterator litr = al.listIterator () while (litr.hasNext ()) {Object element = litr.next () litr.set (element + '+') } System.out.print ('Contenuti modificati di al:') itr = al.iterator () while (itr.hasNext ()) {Object element = itr.next () System.out.print (element + '') } System.out.println () // Ora, visualizza l'elenco all'indietro System.out.print ('Elenco modificato all'indietro:') while (litr.hasPrevious ()) {Object element = litr.previous () System.out. print (elemento + '')} System.out.println ()}}

Produzione:

Originalecontenuto di al:E D U R E K A
Modificaticontenuto di al:E+D+U+R+E+PER+ A +
Modificatielenco all'indietro:PER+PER+E+R+U+D+ E+

Ora, diamo un'occhiata ai vantaggi e ai limiti di questa interfaccia iteratore in Java.

Vantaggi di Iterator in Java

Iterator in Java ha i seguenti vantaggi.

  • Puoi usare questi iteratori per qualsiasi classe Collection.
  • Iterator in Java supporta entrambi leggere così come rimuovere operazioni.
  • Se stai usando per loop non puoi aggiorna (aggiungi / rimuovi) la collezione mentre con l'aiuto di un iteratore puoi aggiornare facilmente la collezione.
  • È un cursore universale per l'API di raccolta.
  • I nomi dei metodi sono molto semplici e molto facili da usare.

Limitazioni di Iterator in Java

Gli iteratori in Java presentano i seguenti inconvenienti:

  • È possibile eseguire solo l'iterazione della direzione in avanti, ovvero l'iteratore unidirezionale.
  • La sostituzione e l'aggiunta di un nuovo elemento non è supportata da Iterator.
  • ListIterator è l'iteratore più potente ma è applicabile solo per le classi implementate da List. Quindi non è un iteratore universale.
  • Quando si utilizzano le operazioni CRUD, non supporta le operazioni di creazione e aggiornamento.
  • Quando lo confronti con Spliterator, non ti consente di iterare elementi parallelamente. Ciò significa che supporta solo l'iterazione sequenziale.
  • Non supporta prestazioni migliori per iterare un grande volume di dati.

Questo ci porta alla fine di questo articolo in cui abbiamo appreso come funziona l'iteratore in Java. Spero che tu sia chiaro con tutto ciò che è stato condiviso con te in questo tutorial.

vai alla funzione in Python

Se hai trovato pertinente questo articolo su 'Iterator in Java', controlla il file una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo.

Siamo qui per aiutarti in ogni fase del tuo viaggio, oltre a questo, elaboriamo un curriculum progettato per studenti e professionisti che vogliono essere uno sviluppatore Java. Il corso è progettato per darti un vantaggio nella programmazione Java e formarti sia sui concetti di base che avanzati su Java insieme a vari framework Java come Hibernate e Spring.

Se incontri delle domande, sentiti libero di porre tutte le tue domande nella sezione commenti di 'Iterator in Java' e il nostro team sarà lieto di rispondere.