U ovom uputstvu naučit ćemo o sučelju Java ListIterator uz pomoć primjera.
ListIterator
Suč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 Iterator
sučelje.
List
Sučelje osigurava listIterator()
metodu koja vraća instancu ListIterator
sučelja.
Metode ListIteratora
ListIterator
Suč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 ListIterator
suč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 ListIterator
suč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 Iterator
bila 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 Iterator
instanca biti između 3 i 2.
Stoga previous()
metoda vraća 3.