Ebben az oktatóanyagban egy példa segítségével megismerhetjük a Java ListIterator felületét.
A ListIterator
Java gyűjtemények keretrendszere biztosítja a lista elemeinek elérését.
Kétirányú. Ez azt jelenti, hogy lehetővé teszi számunkra, hogy a lista elemeit iteráljuk mindkét irányban.
Kiterjeszti az Iterator
interfészt.
Az List
interfész olyan listIterator()
metódust biztosít, amely visszaadja az ListIterator
interfész egy példányát .
A ListIterator módszerei
Az ListIterator
interfész olyan módszereket kínál, amelyekkel különféle műveletek hajthatók végre a lista elemein.
hasNext()
- igaz értéket ad vissza, ha van egy elem a listábannext()
- a lista következő elemét adja visszanextIndex()
visszaadja annak az elemnek az indexét, amelyet anext()
metódus visszaadprevious()
- a lista előző elemét adja visszapreviousIndex()
- visszaadja annak az elemnek az indexét, amelyet aprevious()
metódus visszaadremove()
- eltávolítja anext()
vagy aprevious()
set()
- az egyiketnext()
vagyprevious()
a megadott elemet helyettesíti
1. példa: A ListIterator megvalósítása
Az alábbi példában, már végre a next()
, nextIndex()
és hasNext()
módszerek a ListIterator
felületen egy tömbben listán.
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()); ) )
Kimenet
ArrayList: (1, 3, 2) Következő elem: 1 Következő elem helyzete: 1 Van-e következő elem? igaz
2. példa: ListIterator megvalósítása
Az alábbi példában egy tömblistában valósítottuk meg az interfész previous()
és previousIndex()
metódusait ListIterator
.
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); ) )
Kimenet
ArrayList: (1, 3, 2) Előző elem: 3 Az előző elem helyzete: 0
A fenti példában kezdetben az Iterator
volt az 1 előtt volt. Mivel 1 előtt nem volt elem, ezért a previous()
metódus meghívása kivételt hoz.
Ezután next()
2 alkalommal alkalmaztuk a módszereket. Most a Iterator
példány 3 és 2 között lesz.
Ezért a previous()
módszer 3-at ad vissza.