I den här handledningen lär vi oss om Java ListIterator-gränssnittet med hjälp av ett exempel.
Det ListIterator
gränssnitt samlingar ramen för Java ger funktionalitet för att komma delar av en lista.
Det är dubbelriktat. Det betyder att det gör att vi kan upprepa element i en lista i båda riktningarna.
Det utökar Iterator
gränssnittet.
Den List
gränssnittet innehåller en listIterator()
metod som returnerar en instans av ListIterator
gränssnittet.
Metoder för ListIterator
I ListIterator
gränssnittet ger metoder som kan användas för att utföra olika operationer på elementen i en lista.
hasNext()
- returnerar true om det finns ett element i listannext()
- returnerar nästa element i listannextIndex()
returnerar indexet för det element somnext()
metoden kommer att returneraprevious()
- returnerar föregående element i listanpreviousIndex()
- returnerar indexet för det element somprevious()
metoden kommer att returneraremove()
- tar bort elementet som returneras av antingennext()
ellerprevious()
set()
- ersätter elementet som returneras av antingennext()
ellerprevious()
med det angivna elementet
Exempel 1: Implementering av ListIterator
I exemplet nedan har vi genomfört next()
, nextIndex()
och hasNext()
metoderna för ListIterator
gränssnittet i en rad listan.
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ästa element: 1 Position för nästa element: 1 Finns det något nästa element? Sann
Exempel 2: Implementering av ListIterator
I exemplet nedan har vi implementerat previous()
och previousIndex()
metoderna för ListIterator
gränssnittet i en matrislista.
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) Föregående element: 3 Tidigare element: 0
I exemplet ovan var initialt förekomsten av Iterator
före 1. Eftersom det inte fanns något element före 1 så kallar previous()
metoden ett undantag.
Vi använde sedan next()
metoderna två gånger. Nu Iterator
kommer instansen att vara mellan 3 och 2.
Därför previous()
returnerar metoden 3.