V tej vadnici bomo s pomočjo primera spoznali vmesnik Java ListIterator.
ListIterator
Vmesnik okviru Java zbirk zagotavlja funkcionalnost elementov dostopa iz seznama.
Je dvosmerna. To pomeni, da nam omogoča ponovitev elementov seznama v obe smeri.
Razširi Iterator
vmesnik.
List
Vmesnik zagotavlja listIterator()
metodo, ki vrne primerek ListIterator
vmesnika.
Metode ListIteratorja
ListIterator
Vmesnik zagotavlja metode, ki se lahko uporabljajo za opravljanje različnih dejavnosti na elemente seznama.
hasNext()
- vrne true, če na seznamu obstaja elementnext()
- vrne naslednji element seznamanextIndex()
vrne indeks elementa, ki ga bonext()
metoda vrnilaprevious()
- vrne prejšnji element seznamapreviousIndex()
- vrne indeks elementa, ki ga boprevious()
metoda vrnilaremove()
- odstrani element, ki ga je vrnilnext()
aliprevious()
set()
- nadomesti element, ki ga vrne edennext()
aliprevious()
z navedenim elementom
Primer 1: Implementacija ListIterator
V spodnjem primeru smo izvaja next()
, nextIndex()
in hasNext()
metode v ListIterator
vmesniku na seznamu 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()); ) )
Izhod
ArrayList: (1, 3, 2) Naslednji element: 1 Položaj naslednjega elementa: 1 Ali obstaja naslednji element? prav
Primer 2: Implementacija ListIterator
V spodnjem primeru smo vmesnik previous()
in previousIndex()
metode ListIterator
vmesnika implementirali na seznam nizov.
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); ) )
Izhod
ArrayList: (1, 3, 2) Prejšnji element: 3 Položaj prejšnjega elementa: 0
V zgornjem primeru je bil na primer primerek Iterator
pred 1. Ker pred 1 ni bilo elementa, bo klicanje previous()
metode vrglo izjemo.
Nato smo next()
metode uporabili dvakrat. Zdaj bo Iterator
primerek med 3 in 2.
Zato previous()
metoda vrne 3.