English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo tutorial, impareremo utilizzando esempi l'interfaccia Java ListIterator.
L'interfaccia ListIterator del framework di collection Java fornisce funzionalità di accesso agli elementi dell'elenco.
È bidirezionale. Questo significa che ci permette di iterare sugli elementi dell'elenco in entrambe le direzioni.
Erede dell'interfaccia Iterator.
L'interfaccia List fornisce il metodo ListIterator(), che restituisce un'istanza dell'interfaccia ListIterator.
L'interfaccia ListIterator fornisce metodi utilizzabili per eseguire varie operazioni sugli elementi dell'elenco.
hasNext() - Restituisce true se l'elenco contiene elementi
next() - Restituisce l'elemento successivo dell'elenco
nextIndex() - Restituisce l'indice dell'elemento restituito dal metodo next()
previous() - Restituisce l'elemento precedente della lista
previousIndex() - Restituisce l'indice dell'elemento restituito dalla metodo previous()
remove() - Elimina l'elemento restituito da next() o previous()
set() - Sostituisci l'elemento restituito da next() o previous() con l'elemento specificato
Nella seguente esempio, abbiamo implementato i metodi next(), nextIndex() e hasNext() dell'interfaccia ListIterator in una lista di array.
import java.util.ArrayList; import java.util.ListIterator; class Main { public static void main(String[] args) { //创建一个ArrayList ArrayList<Integer> numbers = new ArrayList<>(); numbers.add(1); numbers.add(3); numbers.add(2); System.out.println("ArrayList: " + numbers); //创建ListIterator的实例 ListIterator<Integer> iterate = numbers.listIterator(); //Utilizzo del metodo next() int number1 = iterate.next(); System.out.println("Elemento successivo: " + number1); //Utilizzo del metodo nextIndex() int index1 = iterate.nextIndex(); System.out.println("Posizione dell'elemento successivo: " + index1); //Utilizzo del metodo hasNext() System.out.println("C'è un elemento successivo? " + iterate.hasNext()); } }
Risultato di output
ArrayList: [1, 3, 2] Elemento successivo: 1 Posizione dell'elemento successivo: 1 C'è un elemento successivo? true
Nella seguente esempio, abbiamo implementato i metodi previous() e previousIndex() dell'interfaccia ListIterator in una lista di array.
import java.util.ArrayList; import java.util.ListIterator; class Main { public static void main(String[] args) { //创建一个ArrayList ArrayList<Integer> numbers = new ArrayList<>(); numbers.add(1); numbers.add(3); numbers.add(2); System.out.println("ArrayList: " + numbers); //创建ListIterator的实例 ListIterator<Integer> iterate = numbers.listIterator(); iterate.next(); iterate.next(); //Utilizzo del metodo previous() int number1 = iterate.previous(); System.out.println("Elemento precedente: " + number1); //Utilizzo di previousIndex () int index1 = iterate.previousIndex(); System.out.println("Posizione dell'elemento precedente: " + index1); } }
Risultato di output
ArrayList: [1, 3, 2] Elemento precedente: 3 Posizione dell'elemento precedente: 0
Nell'esempio sopra, l'istanza dell'iteratore all'inizio era prima di 1. Poiché prima di 1 non c'era alcun elemento, la chiamata al metodo previous() solleva un'eccezione.
Poi, abbiamo utilizzato il metodo next() due volte. Ora l'istanza di Iterator sarà tra 3 e 2.
Di conseguenza, il metodo previous() restituisce 3.