În acest tutorial, vom afla despre interfața Java ListIterator cu ajutorul unui exemplu.
ListIterator
Interfața cadrului colecțiilor Java oferă funcționalitatea elementelor de acces ale unei liste.
Este bidirecțională. Aceasta înseamnă că ne permite să iterăm elemente ale unei liste în ambele direcții.
Extinde Iterator
interfața.
List
Interfața oferă o listIterator()
metodă care returnează o instanta a ListIterator
interfetei.
Metode ListIterator
ListIterator
Interfața prevede metode care pot fi utilizate pentru a efectua diverse operații pe elementele unei liste.
hasNext()
- returnează true dacă există un element în listănext()
- returnează următorul element al listeinextIndex()
returnează indexul elementului pe care îlnext()
va returna metodaprevious()
- returnează elementul anterior al listeipreviousIndex()
- returnează indexul elementului pe care îlprevious()
va returna metodaremove()
- elimină elementul returnat de oricarenext()
sauprevious()
set()
- înlocuiește elementul returnat de oricarenext()
sauprevious()
cu elementul specificat
Exemplul 1: Implementarea ListIterator
In exemplul de mai jos, am implementat next()
, nextIndex()
și hasNext()
metodele ListIterator
interfeței într - o listă de matrice.
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()); ) )
Ieșire
ArrayList: (1, 3, 2) Element următor: 1 Poziția elementului următor: 1 Există vreun element următor? Adevărat
Exemplul 2: Implementarea ListIterator
În exemplul de mai jos, am implementat previous()
și previousIndex()
metodele ListIterator
interfeței într-o listă de matrice.
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); ) )
Ieșire
ArrayList: (1, 3, 2) Element anterior: 3 Poziția elementului anterior: 0
În exemplul de mai sus, inițial, instanța a Iterator
fost înainte de 1. Deoarece nu exista niciun element înainte de 1, atunci apelarea previous()
metodei va arunca o excepție.
Apoi am folosit next()
metodele de 2 ori. Acum Iterator
instanța va fi între 3 și 2.
Prin urmare, previous()
metoda returnează 3.