V tomto tutoriáli sa pomocou príkladu dozvieme o rozhraní Java ListIterator.
ListIteratorRozhranie zbierok rámca Java poskytuje funkcie pre prístup k prvkom zoznamu.
Je obojsmerný. To znamená, že nám umožňuje iterovať prvky zoznamu v oboch smeroch.
Rozširuje Iteratorrozhranie.

ListRozhranie poskytuje listIterator()metódu, ktorá vracia inštanciu ListIteratorrozhrania.
Metódy ListIterator
ListIteratorRozhranie poskytuje metódy, ktoré môžu byť použité na vykonávanie rôznych operácií na prvky zozname.
hasNext()- vráti hodnotu true, ak v zozname existuje prvoknext()- vráti nasledujúci prvok zoznamunextIndex()vráti index prvku, ktorýnext()vráti metódaprevious()- vráti predchádzajúci prvok zoznamupreviousIndex()- vráti index prvku, ktorýprevious()vráti metódaremove()- odstráni prvok vrátený buďnext()aleboprevious()set()- nahradí prvok vrátený buď zadaným prvkom,next()aleboprevious()zadaným
Príklad 1: Implementácia ListIterator
V príklade nižšie sme implementovali rozhrania next(), nextIndex()a hasNext()metódy ListIteratorrozhrania do zoznamu polí.
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()); ) )
Výkon
ArrayList: (1, 3, 2) Ďalší prvok: 1 Pozícia nasledujúceho prvku: 1 Existuje nejaký ďalší prvok? pravda
Príklad 2: Implementácia ListIterator
V nižšie uvedenom príklade sme realizovali previous()a previousIndex()metódy ListIteratorrozhrania v zozname poľa.
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); ) )
Výkon
ArrayList: (1, 3, 2) Predchádzajúci prvok: 3 Poloha predchádzajúceho prvku: 0
Vo vyššie uvedenom príklade bola inštancia pôvodne Iteratorpred 1. Pretože pred 1 nebol žiadny prvok, volanie previous()metódy vyvolá výnimku.
next()Metódy sme potom použili dvakrát. Teraz bude Iteratorinštancia medzi 3 a 2.
Preto previous()metóda vracia 3.








