Junior
Τι είναι ένας επαναλήπτης και ποιος είναι ο σκοπός του;
sobes.tech AI
Απάντηση από AI
Ένας επαναλήπτης (iterator) στη Java είναι ένα αντικείμενο που επιτρέπει την διαδοχική διαδρομή μέσα από τα στοιχεία μιας συλλογής χωρίς να χρειάζεται να γνωρίζετε τη εσωτερική δομή της.
Οι κύριοι στόχοι της χρήσης του επαναλήπτη:
- Αφηρημένη: Παρέχει έναν ενιαίο τρόπο διαδρομής μέσα από στοιχεία διαφορετικών τύπων συλλογών (λίστες, σύνολα κ.λπ.).
- Ασφάλεια: Επιτρέπει τη διαγραφή στοιχείων από τη συλλογή κατά τη διάρκεια της διαδρομής χωρίς να παραβιάζει τη λογική της διαδρομής.
- Ανεξαρτησία: Η διαδρομή των στοιχείων δεν εξαρτάται από την υλοποίηση της συλλογής.
Η διεπαφή Iterator<E> ορίζει τρεις βασικές μεθόδους:
hasNext(): Επιστρέφειtrueαν υπάρχουν ακόμα στοιχεία στη διαδρομή.next(): Επιστρέφει το επόμενο στοιχείο στη διαδρομή.remove(): Διαγράφει από τη βασική συλλογή το στοιχείο που επιστράφηκε από την τελευταία κλήση τουnext().
Παράδειγμα χρήσης:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
// Παράδειγμα χρήσης του επαναλήπτη
public class IteratorExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
Iterator<String> iterator = list.iterator();
// Διαδρομή στοιχείων με τον επαναλήπτη
while (iterator.hasNext()) {
String element = iterator.next();
System.out.println(element);
// Διαγραφή στοιχείου κατά τη διάρκεια της διαδρομής (παράδειγμα)
if (element.equals("Banana")) {
iterator.remove();
}
}
System.out.println("Μετά τη διαγραφή: " + list);
}
}