I denne opplæringen vil vi lære om Java ListIterator-grensesnittet ved hjelp av et eksempel.
Den ListIterator
grensesnittet til Java samlinger rammeverket gir funksjonalitet for å få tilgang elementer i en liste.
Det er toveis. Dette betyr at det lar oss gjenta elementer i en liste i begge retninger.
Det utvider Iterator
grensesnittet.
Den List
grensesnitt tilveiebringer en listIterator()
metode som returnerer en forekomst av ListIterator
grensesnittet.
Metoder for ListIterator
Den ListIterator
grensesnitt tilveiebringer fremgangsmåter som kan brukes til å utføre forskjellige operasjoner på elementene i en liste.
hasNext()
- returnerer true hvis det finnes et element i listennext()
- returnerer neste element i listennextIndex()
returnerer indeksen til elementet somnext()
metoden vil returnereprevious()
- returnerer det forrige elementet i listenpreviousIndex()
- returnerer indeksen til elementet somprevious()
metoden vil returnereremove()
- fjerner elementet som returneres av entennext()
ellerprevious()
set()
- erstatter elementet som returneres av entennext()
ellerprevious()
med det angitte elementet
Eksempel 1: Implementering av ListIterator
I eksemplet nedenfor har vi implementert next()
, nextIndex()
og hasNext()
metodene for ListIterator
grensesnittet i en matriseliste.
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()); ) )
Produksjon
ArrayList: (1, 3, 2) Next Element: 1 Position of Next Element: 1 Er det noe neste element? ekte
Eksempel 2: Implementering av ListIterator
I eksemplet nedenfor har vi implementert previous()
og previousIndex()
metodene for ListIterator
grensesnittet i en matriseliste.
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); ) )
Produksjon
ArrayList: (1, 3, 2) Previous Element: 3 Position of the Previous Element: 0
I eksemplet ovenfor, opprinnelig, var forekomsten av Iterator
før 1. Siden det ikke var noe element før 1, så kaller previous()
metoden vil kaste et unntak.
Vi brukte deretter next()
metodene 2 ganger. Nå vil Iterator
forekomsten være mellom 3 og 2.
Derfor previous()
returnerer metoden 3.