U ovom uputstvu naučit ćemo o sučelju Java ListIterator uz pomoć primjera.
ListIteratorSučelje Java zbirki okvira pruža funkcionalnost za pristup elementima popisa.
Dvosmjeran je. To znači da nam omogućuje ponavljanje elemenata popisa u oba smjera.
Proširuje Iteratorsučelje.

ListSučelje osigurava listIterator()metodu koja vraća instancu ListIteratorsučelja.
Metode ListIteratora
ListIteratorSučelje omogućuje metode koje se mogu koristiti za obavljanje različitih operacija na elementima popisa.
hasNext()- vraća true ako postoji element na popisunext()- vraća sljedeći element popisanextIndex()vraća indeks elementa koji ćenext()metoda vratitiprevious()- vraća prethodni element popisapreviousIndex()- vraća indeks elementa koji ćeprevious()metoda vratitiremove()- uklanja element koji je vrationext()iliprevious()set()- zamjenjuje element koji je vratio jedannext()iliprevious()navedenim elementom
Primjer 1: Implementacija ListIterator
U primjeru ispod, mi smo implementirali next(), nextIndex()te hasNext()metode za ListIteratorsučelje u popisu polja.
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()); ) )
Izlaz
ArrayList: (1, 3, 2) Sljedeći element: 1 Položaj sljedećeg elementa: 1 Postoji li sljedeći element? pravi
Primjer 2: Implementacija ListIterator
U donjem smo primjeru implementirali previous()i previousIndex()metode ListIteratorsučelja na popisu polja.
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); ) )
Izlaz
ArrayList: (1, 3, 2) Prethodni element: 3 Položaj prethodnog elementa: 0
U gornjem primjeru, u početku je instanca Iteratorbila prije 1. Budući da prije 1 nije bilo elementa, pozivanje previous()metode će baciti iznimku.
Zatim smo next()metode koristili 2 puta. Sada će Iteratorinstanca biti između 3 i 2.
Stoga previous()metoda vraća 3.








