Sobes.tech
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)); // Θα εμφανίσει "Πρώτο"