Java ListIterator-grænseflade

Indholdsfortegnelse

I denne vejledning lærer vi om Java ListIterator-interface ved hjælp af et eksempel.

Den ListIteratorgrænsefladen af Java kollektioner rammer giver funktionalitet for at få adgang elementer i en liste.

Det er tovejs. Dette betyder, at det giver os mulighed for at gentage elementer på en liste i begge retninger.

Det udvider Iteratorgrænsefladen.

Den Listgrænsefladen tilvejebringer en listIterator()metode, der returnerer en instans af ListIteratorgrænsefladen.

Metoder til ListIterator

Den ListIteratorgrænseflade tilvejebringer fremgangsmåder, der kan anvendes til at udføre forskellige operationer på elementerne i en liste.

  • hasNext() - returnerer sandt, hvis der findes et element på listen
  • next() - returnerer det næste element på listen
  • nextIndex()returnerer indekset for det element, som next()metoden vil returnere
  • previous() - returnerer det forrige element på listen
  • previousIndex()- returnerer indekset for det element, som previous()metoden vil returnere
  • remove()- fjerner det element, der returneres af enten next()ellerprevious()
  • set()- erstatter elementet, der returneres af enten next()eller previous()med det angivne element

Eksempel 1: Implementering af ListIterator

I eksemplet nedenfor, har vi implementeret de next(), nextIndex()og hasNext()metoder for den ListIteratorgrænseflade i et array listen.

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

Produktion

ArrayList: (1, 3, 2) Næste element: 1 Position for næste element: 1 Er der noget næste element? sand

Eksempel 2: Implementering af ListIterator

I eksemplet nedenfor har vi implementeret previous()og previousIndex()metoderne til ListIteratorgrænsefladen i en matrixliste.

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

Produktion

 ArrayList: (1, 3, 2) Previous Element: 3 Position of the Previous Element: 0 

I ovenstående eksempel var oprindeligt forekomsten af Iteratorfør 1. Da der ikke var noget element før 1, så kalder previous()metoden en undtagelse.

Vi brugte derefter next()metoderne 2 gange. Nu vil Iteratorforekomsten være mellem 3 og 2.

Derfor previous()returnerer metoden 3.

Interessante artikler...