In questo tutorial, impareremo a conoscere l'interfaccia di Java Iterator con l'aiuto di un esempio.
L' Iterator
interfaccia del framework delle collezioni Java ci permette di accedere agli elementi di una collezione. Ha una sottointerfaccia ListIterator
.
Tutte le raccolte Java includono un iterator()
metodo. Questo metodo restituisce un'istanza di iteratore utilizzato per iterare su elementi di raccolte.
Metodi di iteratore
L' Iterator
interfaccia fornisce 4 metodi che possono essere utilizzati per eseguire varie operazioni sugli elementi delle raccolte.
hasNext()
- restituiscetrue
se esiste un elemento nella raccoltanext()
- restituisce l'elemento successivo della raccoltaremove()
- rimuove l'ultimo elemento restituito danext()
forEachRemaining()
- esegue l'azione specificata per ogni elemento rimanente della raccolta
Esempio: implementazione di Iterator
Nell'esempio qui sotto, abbiamo implementato i hasNext()
, next(),
remove()
e forEachRemining()
metodi di Iterator
interfaccia in una lista di array.
import java.util.ArrayList; import java.util.Iterator; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(3); numbers.add(2); System.out.println("ArrayList: " + numbers); // Creating an instance of Iterator Iterator iterate = numbers.iterator(); // Using the next() method int number = iterate.next(); System.out.println("Accessed Element: " + number); // Using the remove() method iterate.remove(); System.out.println("Removed Element: " + number); System.out.print("Updated ArrayList: "); // Using the hasNext() method while(iterate.hasNext()) ( // Using the forEachRemaining() method iterate.forEachRemaining((value) -> System.out.print(value + ", ")); ) ) )
Produzione
ArrayList: (1, 3, 2) Elemento inserito: 1 Elemento rimosso: 1 ArrayList aggiornato: 3, 2,
Nell'esempio sopra, nota la dichiarazione:
iterate.forEachRemaining((value) -> System.put.print(value + ", "));
Qui abbiamo passato l'espressione lambda come argomento del forEachRemaining()
metodo.
Ora il metodo stamperà tutti gli elementi rimanenti dell'elenco dell'array.