Σε αυτό το σεμινάριο, θα μάθουμε για τη διεπαφή Java ListIterator με τη βοήθεια ενός παραδείγματος.
Η ListIterator
διεπαφή του πλαισίου συλλογών Java παρέχει τη δυνατότητα πρόσβασης σε στοιχεία μιας λίστας.
Είναι αμφίδρομο. Αυτό σημαίνει ότι μας επιτρέπει να επαναλαμβάνουμε στοιχεία μιας λίστας και προς τις δύο κατευθύνσεις.
Επεκτείνει τη Iterator
διεπαφή.
Η List
διεπαφή παρέχει μια listIterator()
μέθοδο που επιστρέφει μια παρουσία της ListIterator
διεπαφής.
Μέθοδοι ListIterator
Η ListIterator
διεπαφή παρέχει μεθόδους που μπορούν να χρησιμοποιηθούν για την εκτέλεση διαφόρων λειτουργιών στα στοιχεία μιας λίστας.
hasNext()
- επιστρέφει true αν υπάρχει ένα στοιχείο στη λίσταnext()
- επιστρέφει το επόμενο στοιχείο της λίσταςnextIndex()
επιστρέφει το ευρετήριο του στοιχείου πουnext()
θα επιστρέψει η μέθοδοςprevious()
- επιστρέφει το προηγούμενο στοιχείο της λίσταςpreviousIndex()
- επιστρέφει το ευρετήριο του στοιχείου πουprevious()
θα επιστρέψει η μέθοδοςremove()
- αφαιρεί το στοιχείο που επιστρέφεται από είτεnext()
ήprevious()
set()
- αντικαθιστά το στοιχείο επιστρέφεται από είτεnext()
ήprevious()
με το καθορισμένο στοιχείο
Παράδειγμα 1: Εφαρμογή του ListIterator
Στο παρακάτω παράδειγμα, έχουμε εφαρμόσει το next()
, nextIndex()
και τις hasNext()
μεθόδους της 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(); // 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()); ) )
Παραγωγή
ArrayList: (1, 3, 2) Επόμενο στοιχείο: 1 Θέση του επόμενου στοιχείου: 1 Υπάρχει κάποιο επόμενο στοιχείο; αληθής
Παράδειγμα 2: Εφαρμογή του ListIterator
Στο παρακάτω παράδειγμα, έχουμε εφαρμόσει previous()
και τις previousIndex()
μεθόδους της 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); ) )
Παραγωγή
ArrayList: (1, 3, 2) Προηγούμενο στοιχείο: 3 Θέση του προηγούμενου στοιχείου: 0
Στο παραπάνω παράδειγμα, αρχικά, η παρουσία του Iterator
ήταν πριν από το 1. Δεδομένου ότι δεν υπήρχε στοιχείο πριν από το 1, οπότε η κλήση της previous()
μεθόδου θα ρίξει μια εξαίρεση.
Στη συνέχεια χρησιμοποιήσαμε τις next()
μεθόδους 2 φορές. Τώρα η Iterator
παρουσία θα είναι μεταξύ 3 και 2.
Ως εκ τούτου, η previous()
μέθοδος επιστρέφει 3.