Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Java ListIterator-interface: Praktische gids voor bidirectionele doorloop

Java ListIterator-interface

Deze tutorial biedt een uitgebreide kijk op Java's ListIterator-interface, met real-world voorbeelden en duidelijke uitleg.

De ListIterator-interface breidt Iterator uit en biedt bidirectionele doorloop, waarmee je voorwaarts en achterwaarts door een List kunt navigeren terwijl je modificaties op de vlucht uitvoert.

Belangrijkste kenmerken zijn de mogelijkheid om te navigeren, verwijderen en vervangen van elementen, wat het een essentieel hulpmiddel maakt voor elke Java-ontwikkelaar die met lijsten werkt.

Kernmethoden van ListIterator

  • hasNext() – Retourneert true als er een volgend element bestaat
  • next() – Ga naar en retourneer het volgende element
  • nextIndex() – Geeft de index van het element dat next() zal retourneren
  • previous() – Ga achterwaarts en retourneer het vorige element
  • previousIndex() – Geeft de index van het element dat previous() zal retourneren
  • remove() – Verwijdert het laatste element dat door next() of previous() werd geretourneerd
  • set(E e) – Vervangt het laatst geretourneerde element door de gespecifieerde waarde

Voorbeeld 1: Voorwaarts navigeren

Hieronder een beknopt voorbeeld dat next(), nextIndex() en hasNext() demonstreert op een ArrayList:

import java.util.ArrayList;
import java.util.ListIterator;

class Main {
    public static void main(String[] args) {
        ArrayList<Integer> getallen = new ArrayList<>();
        getallen.add(1);
        getallen.add(3);
        getallen.add(2);
        System.out.println("ArrayList: " + getallen);

        ListIterator<Integer> iterator = getallen.listIterator();
        int eerste = iterator.next();
        System.out.println("Volgend element: " + eerste);
        int volgendeIndex = iterator.nextIndex();
        System.out.println("Positie van volgend element: " + volgendeIndex);
        System.out.println("Is er een volgend element? " + iterator.hasNext());
    }
}

Output

ArrayList: [1, 3, 2]
Volgend element: 1
Positie van volgend element: 1
Is er een volgend element? true

Voorbeeld 2: Achterwaarts navigeren

Dit voorbeeld toont previous() en previousIndex() na twee keer next() aan te roepen:

import java.util.ArrayList;
import java.util.ListIterator;

class Main {
    public static void main(String[] args) {
        ArrayList<Integer> getallen = new ArrayList<>();
        getallen.add(1);
        getallen.add(3);
        getallen.add(2);
        System.out.println("ArrayList: " + getallen);

        ListIterator<Integer> iterator = getallen.listIterator();
        iterator.next();
        iterator.next();
        int vorig = iterator.previous();
        System.out.println("Vorig element: " + vorig);
        int vorigeIndex = iterator.previousIndex();
        System.out.println("Positie van het vorige element: " + vorigeIndex);
    }
}

Output

ArrayList: [1, 3, 2]
Vorig element: 3
Positie van het vorige element: 0

Initieel is de iterator gepositioneerd voor het eerste element, dus previous() zou een exception gooien. Na twee next()-oproepen zit de iterator tussen 3 en 2, waardoor previous() 3 retourneert.

Java

  1. C#-interfaces onder de knie: definitie, implementatie en praktische use cases
  2. Java-operators beheersen: typen, syntax en praktische voorbeelden
  3. Java-commentaar: typen, gebruik en best practices
  4. Java interfaces meesteren: concepten, implementatie en best practices
  5. Java Try-with-resources meesteren: automatische resource management uitgelegd
  6. Java Annotaties uitgelegd: typen, plaatsing en praktische voorbeelden
  7. Java NavigableSet interface: Navigatie, sortering en praktische voorbeelden
  8. Java Lambda-expressies: Van basis tot Stream API
  9. Interface vs Abstracte Klasse in Java: De Juiste Abstractie Kiezen
  10. Java Interfaces begrijpen: Definities, Gebruik en Best Practices
  11. Java 9 Private Interface Methods: Encapsulatie & herbruik verbeteren