Σε αυτό το σεμινάριο, θα μάθουμε για τη διεπαφή Java Iterator με τη βοήθεια ενός παραδείγματος.
Η Iterator
διεπαφή του πλαισίου συλλογών Java μας επιτρέπει να έχουμε πρόσβαση σε στοιχεία μιας συλλογής. Έχει μια υποσύνδεση ListIterator
.
Όλες οι συλλογές Java περιλαμβάνουν μια iterator()
μέθοδο. Αυτή η μέθοδος επιστρέφει μια παρουσία επαναληπτικού που χρησιμοποιείται για την επανάληψη στοιχείων των συλλογών.
Μέθοδοι Iterator
Η Iterator
διεπαφή παρέχει 4 μεθόδους που μπορούν να χρησιμοποιηθούν για την εκτέλεση διαφόρων λειτουργιών σε στοιχεία συλλογών.
hasNext()
- επιστρέφειtrue
εάν υπάρχει ένα στοιχείο στη συλλογήnext()
- επιστρέφει το επόμενο στοιχείο της συλλογήςremove()
- αφαιρεί το τελευταίο στοιχείο που επέστρεψε από τοnext()
forEachRemaining()
- εκτελεί την καθορισμένη ενέργεια για κάθε εναπομένον στοιχείο της συλλογής
Παράδειγμα: Εφαρμογή του Iterator
Στο παρακάτω παράδειγμα, έχουμε εφαρμόσει το hasNext()
, next(),
remove()
και τις forEachRemining()
μεθόδους της Iterator
διεπαφής σε μια λίστα πίνακα.
import java.util.ArrayList; import java.util.Iterator; 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 Iterator Iterator iterate = numbers.iterator(); // Using the next() method int number = iterate.next(); System.out.println("Accessed Element: " + number); // Using the remove() method iterate.remove(); System.out.println("Removed Element: " + number); System.out.print("Updated ArrayList: "); // Using the hasNext() method while(iterate.hasNext()) ( // Using the forEachRemaining() method iterate.forEachRemaining((value) -> System.out.print(value + ", ")); ) ) )
Παραγωγή
ArrayList: (1, 3, 2) Στοιχείο πρόσβασης: 1 Στοιχείο που αφαιρέθηκε: 1 Ενημερώθηκε ArrayList: 3, 2,
Στο παραπάνω παράδειγμα, παρατηρήστε τη δήλωση:
iterate.forEachRemaining((value) -> System.put.print(value + ", "));
Εδώ, έχουμε περάσει την έκφραση λάμδα ως επιχείρημα της forEachRemaining()
μεθόδου.
Τώρα η μέθοδος θα εκτυπώσει όλα τα υπόλοιπα στοιχεία της λίστας πίνακα.