Interfaccia Java ListIterator

In questo tutorial, impareremo a conoscere l'interfaccia Java ListIterator con l'aiuto di un esempio.

L' ListIteratorinterfaccia 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' Iteratorinterfaccia.

L' Listinterfaccia fornisce un listIterator()metodo che restituisce un'istanza ListIteratordell'interfaccia.

Metodi di ListIterator

L' ListIteratorinterfaccia fornisce metodi che possono essere utilizzati per eseguire varie operazioni sugli elementi di un elenco.

  • hasNext() - restituisce vero se esiste un elemento nell'elenco
  • next() - restituisce l'elemento successivo della lista
  • nextIndex()restituisce l'indice dell'elemento che il next()metodo restituirà
  • previous() - restituisce l'elemento precedente della lista
  • previousIndex()- restituisce l'indice dell'elemento che il previous()metodo restituirà
  • remove()- rimuove l'elemento restituito da next()oprevious()
  • set()- sostituisce l'elemento restituito da next()o previous()con l'elemento specificato

Esempio 1: implementazione di ListIterator

Nell'esempio qui sotto, abbiamo implementato i next(), nextIndex()e hasNext()metodi di ListIteratorinterfaccia 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 Iteratorera 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' Iteratoristanza sarà compresa tra 3 e 2.

Quindi, il previous()metodo restituisce 3.

Articoli interessanti...