Διασύνδεση Java ListIterator

Πίνακας περιεχομένων

Σε αυτό το σεμινάριο, θα μάθουμε για τη διεπαφή 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.

ενδιαφέροντα άρθρα...