Rozhranie Java ListIterator

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 prvok
  • next() - vráti nasledujúci prvok zoznamu
  • nextIndex()vráti index prvku, ktorý next()vráti metóda
  • previous() - vráti predchádzajúci prvok zoznamu
  • previousIndex()- vráti index prvku, ktorý previous()vráti metóda
  • remove()- odstráni prvok vrátený buď next()aleboprevious()
  • set()- nahradí prvok vrátený buď zadaným prvkom, next()alebo previous()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.

Zaujímavé články...