In questo tutorial, impareremo a conoscere l'interfaccia Java ListIterator con l'aiuto di un esempio.
L' ListIterator
interfaccia del framework delle collezioni Java fornisce la funzionalità per accedere agli elementi di un elenco.
È bidirezionale. Ciò significa che ci consente di iterare gli elementi di un elenco in entrambe le direzioni.
Estende l' Iterator
interfaccia.
L' List
interfaccia fornisce un listIterator()
metodo che restituisce un'istanza ListIterator
dell'interfaccia.
Metodi di ListIterator
L' ListIterator
interfaccia fornisce metodi che possono essere utilizzati per eseguire varie operazioni sugli elementi di un elenco.
hasNext()
- restituisce vero se esiste un elemento nell'elenconext()
- restituisce l'elemento successivo della listanextIndex()
restituisce l'indice dell'elemento che ilnext()
metodo restituiràprevious()
- restituisce l'elemento precedente della listapreviousIndex()
- restituisce l'indice dell'elemento che ilprevious()
metodo restituiràremove()
- rimuove l'elemento restituito danext()
oprevious()
set()
- sostituisce l'elemento restituito danext()
oprevious()
con l'elemento specificato
Esempio 1: implementazione di ListIterator
Nell'esempio qui sotto, abbiamo implementato i next()
, nextIndex()
e hasNext()
metodi di ListIterator
interfaccia in una lista di array.
import java.util.ArrayList; import java.util.ListIterator; 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 ListIterator ListIterator iterate = numbers.listIterator(); // Using the next() method int number1 = iterate.next(); System.out.println("Next Element: " + number1); // Using the nextIndex() int index1 = iterate.nextIndex(); System.out.println("Position of Next Element: " + index1); // Using the hasNext() method System.out.println("Is there any next element? " + iterate.hasNext()); ) )
Produzione
ArrayList: (1, 3, 2) Elemento successivo: 1 Posizione dell'elemento successivo: 1 C'è qualche elemento successivo? vero
Esempio 2: implementazione di ListIterator
Nell'esempio seguente, abbiamo implementato i metodi previous()
e dell'interfaccia in un elenco di array.previousIndex()
ListIterator
import java.util.ArrayList; import java.util.ListIterator; 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 ListIterator ListIterator iterate = numbers.listIterator(); iterate.next(); iterate.next(); // Using the previous() method int number1 = iterate.previous(); System.out.println("Previous Element: " + number1); // Using the previousIndex() int index1 = iterate.previousIndex(); System.out.println("Position of the Previous element: " + index1); ) )
Produzione
ArrayList: (1, 3, 2) Previous Element: 3 Posizione dell'elemento precedente: 0
Nell'esempio precedente, inizialmente, l'istanza di Iterator
era prima di 1. Poiché non c'era alcun elemento prima di 1, la chiamata al previous()
metodo genererà un'eccezione.
Abbiamo quindi utilizzato i next()
metodi 2 volte. Ora l' Iterator
istanza sarà compresa tra 3 e 2.
Quindi, il previous()
metodo restituisce 3.