Šajā apmācībā mēs uzzināsim par Java ListIterator saskarni ar piemēra palīdzību.
ListIterator
Java kolekcijas ietvaros saskarne nodrošina funkcionalitāti, lai piekļuves elementiem sarakstā.
Tas ir divvirzienu. Tas nozīmē, ka tas ļauj mums atkārtot saraksta elementus abos virzienos.
Tas paplašina Iterator
saskarni.
List
Saskarne nodrošina listIterator()
metodi, kas atgriež instanci ListIterator
interfeisu.
ListIterator metodes
ListIterator
Saskarne nodrošina metodes, ko var izmantot, lai veiktu dažādas darbības elementiem sarakstā.
hasNext()
- atgriež vērtību true, ja sarakstā ir elementsnext()
- atgriež nākamo saraksta elementunextIndex()
atgriež tā elementa indeksu, kurunext()
metode atgriezīsprevious()
- atgriež saraksta iepriekšējo elementupreviousIndex()
- atgriež tā elementa indeksu, kuruprevious()
metode atgriezīsremove()
- novērš elementu atpakaļ vai nunext()
, vaiprevious()
set()
- aizvieto elementu atpakaļ vai nunext()
, vaiprevious()
ar norādīto elementu
1. piemērs: ListIterator ieviešana
Tālāk piemērā, mēs esam ieviesuši next()
, nextIndex()
un hasNext()
metodes, ar ListIterator
saskarnes masīva sarakstā.
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()); ) )
Rezultāts
ArrayList: (1, 3, 2) Nākamais elements: 1 Nākamā elementa pozīcija: 1 Vai ir kāds nākamais elements? taisnība
2. piemērs: ListIterator ieviešana
Šajā piemērā mēs esam ieviesuši saskarnes previous()
un previousIndex()
metodes ListIterator
masīvu sarakstā.
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); ) )
Rezultāts
ArrayList: (1, 3, 2) Iepriekšējais elements: 3 Iepriekšējā elementa pozīcija: 0
Iepriekš minētajā piemērā sākotnēji gadījums Iterator
bija pirms 1. Tā kā pirms 1 nebija elementa, previous()
metodes izsaukšana radīs izņēmumu.
Pēc tam mēs izmantojām next()
metodes 2 reizes. Tagad Iterator
eksemplārs būs no 3 līdz 2.
Tādējādi previous()
metode atgriež 3.