Junior — Middle
Σε ποια εσωτερική δομή βασίζεται η κλάση ArrayList στη Java;
sobes.tech AI
Απάντηση από AI
Η κλάση ArrayList στη Java βασίζεται σε μια εσωτερική δομή: έναν δυναμικό πίνακα. Αυτό σημαίνει ότι το ArrayList χρησιμοποιεί έναν κανονικό πίνακα για την αποθήκευση των στοιχείων, αλλά κατά την προσθήκη νέων στοιχείων, αν ο πίνακας είναι γεμάτος, αυξάνει αυτόματα το μέγεθός του, δημιουργώντας έναν νέο μεγαλύτερο πίνακα και αντιγράφοντας τα υπάρχοντα στοιχεία σε αυτόν.
Αυτή η δομή εξασφαλίζει γρήγορη πρόσβαση στα στοιχεία με δείκτη (λειτουργία σε O(1)), αλλά οι λειτουργίες εισαγωγής ή διαγραφής στο μέσο της λίστας μπορεί να είναι δαπανηρές, καθώς απαιτούν μετακίνηση των στοιχείων.
Παράδειγμα χρήσης του ArrayList:
import java.util.ArrayList;
ArrayList<String> λίστα = new ArrayList<>();
λίστα.add("Πρώτο");
λίστα.add("Δεύτερο");
System.out.println(λίστα.get(0)); // Θα εμφανίσει "Πρώτο"