Java ListIterator-interface

In deze tutorial leren we aan de hand van een voorbeeld over de Java ListIterator-interface.

De ListIteratorinterface van het Java-verzamelingsraamwerk 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 breidt de Iteratorinterface uit.

De Listinterface biedt een listIterator()methode die een instantie van de ListIteratorinterface retourneert .

Methoden van ListIterator

De ListIteratorinterface 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 retourneren
  • previous() - geeft het vorige element van de lijst terug
  • previousIndex()- geeft de index terug van het element dat de previous()methode zal retourneren
  • remove()- verwijdert het element geretourneerd door next()ofprevious()
  • set()- vervangt het element dat wordt geretourneerd door next()of previous()door het opgegeven element

Voorbeeld 1: implementatie van ListIterator

In het onderstaande voorbeeld hebben we de next(), nextIndex()en hasNext()methoden van de ListIteratorinterface geïmplementeerd in een arraylijst.

 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()); ) ) 

Uitvoer

ArrayList: (1, 3, 2) Volgend element: 1 Positie van volgend element: 1 Is er een volgend element? waar

Voorbeeld 2: implementatie van ListIterator

In het onderstaande voorbeeld hebben we de previous()en previousIndex()methoden van de ListIteratorinterface geïmplementeerd in een arraylijst.

 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); ) ) 

Uitvoer

 ArrayList: (1, 3, 2) Vorig element: 3 Positie van het vorige element: 0 

In het bovenstaande voorbeeld was de instantie van de aanvankelijk Iteratorvóór 1. Aangezien er geen element vóór 1 was, zal het aanroepen van de previous()methode een uitzondering genereren.

We hebben de next()methoden vervolgens 2 keer gebruikt. Nu ligt de Iteratorinstantie tussen 3 en 2.

Daarom previous()retourneert de methode 3.

Interessante artikelen...