Java ListIterator-interface
Java ListIterator-interface
In deze zelfstudie leren we over de Java ListIterator-interface aan de hand van een voorbeeld.
De ListIterator
interface van het Java-verzamelingsframework biedt de functionaliteit om toegang te krijgen tot elementen van een lijst.
Het is bidirectioneel. Dit betekent dat het ons in staat stelt om elementen van een lijst in beide richtingen te herhalen.
Het verlengt de Iterator
interface.
De List
interface biedt een listIterator()
methode die een instantie van de ListIterator
. retourneert interface.
Methoden van ListIterator
De ListIterator
interface biedt methoden die kunnen worden gebruikt om verschillende bewerkingen uit te voeren op de elementen van een lijst.
hasNext()
- geeft true terug als er een element in de lijst bestaatnext()
- geeft het volgende element van de lijst terugnextIndex()
geeft de index terug van het element dat denext()
methode zal terugkerenprevious()
- geeft het vorige element van de lijst terugpreviousIndex()
- geeft de index terug van het element dat deprevious()
methode zal terugkerenremove()
- verwijdert het element geretourneerd doornext()
ofprevious()
set()
- vervangt het geretourneerde element doornext()
ofprevious()
met het opgegeven element
Voorbeeld 1:Implementatie van ListIterator
In het onderstaande voorbeeld hebben we de next()
. geïmplementeerd , nextIndex()
en hasNext()
methoden van de ListIterator
interface in een arraylijst.
import java.util.ArrayList;
import java.util.ListIterator;
class Main {
public static void main(String[] args) {
// Creating an ArrayList
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(3);
numbers.add(2);
System.out.println("ArrayList: " + numbers);
// Creating an instance of ListIterator
ListIterator<Integer> 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());
}
}
Uitvoer
ArrayList: [1, 3, 2] Next Element: 1 Position of Next Element: 1 Is there any next element? true
Voorbeeld 2:Implementatie van ListIterator
In het onderstaande voorbeeld hebben we de previous()
. geïmplementeerd en previousIndex()
methoden van de ListIterator
interface in een arraylijst.
import java.util.ArrayList;
import java.util.ListIterator;
class Main {
public static void main(String[] args) {
// Creating an ArrayList
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(3);
numbers.add(2);
System.out.println("ArrayList: " + numbers);
// Creating an instance of ListIterator
ListIterator<Integer> 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);
}
}
Uitvoer
ArrayList: [1, 3, 2] Previous Element: 3 Position of the Previous Element: 0
In het bovenstaande voorbeeld, aanvankelijk de instantie van de Iterator
was vóór 1. Aangezien er geen element vóór 1 was, dus de previous()
. aanroepen methode zal een uitzondering genereren.
We gebruikten toen de next()
methoden 2 keer. Nu de Iterator
instantie zal tussen 3 en 2 zijn.
Vandaar dat de previous()
methode retourneert 3.
Java