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

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 bestaat
  • next() - geeft het volgende element van de lijst terug
  • nextIndex() geeft de index terug van het element dat de next() methode zal terugkeren
  • previous() - geeft het vorige element van de lijst terug
  • previousIndex() - geeft de index terug van het element dat de previous() methode zal terugkeren
  • remove() - verwijdert het element geretourneerd door next() of previous()
  • set() - vervangt het geretourneerde element door next() of previous() 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

  1. C#-interface
  2. Java-operators
  3. Java-opmerkingen
  4. Java-interface
  5. Java proberen-met-bronnen
  6. Java-annotaties
  7. Java NavigableSet-interface
  8. Java Lambda-expressies
  9. Interface versus abstracte klasse in Java:wat is het verschil?
  10. Java - Interfaces
  11. Java 9 - Privé-interfacemethoden