Junior — Middle
Μπορείτε να εξηγήσετε την αρχή λειτουργίας της δομής δεδομένων ArrayList;
sobes.tech AI
Απάντηση από AI
ArrayList — είναι ένας δυναμικός πίνακας στη Java που επεκτείνεται αυτόματα κατά την προσθήκη στοιχείων. Χρησιμοποιεί εσωτερικά έναν κανονικό πίνακα που αυξάνεται σε μέγεθος όταν γεμίζει.
Βασικά σημεία:
- Τα στοιχεία αποθηκεύονται σε έναν πίνακα.
- Όταν προστίθεται ένα νέο στοιχείο και ο πίνακας είναι γεμάτος, δημιουργείται ένας νέος μεγαλύτερος πίνακας (συνήθως 50% μεγαλύτερος ή διπλάσιος), και τα παλιά στοιχεία αντιγράφονται σε αυτόν.
- Η πρόσβαση στα στοιχεία μέσω δείκτη γίνεται σε σταθερό χρόνο O(1).
- Η προσθήκη ενός στοιχείου στο τέλος είναι συνήθως O(1), αλλά κατά την επέκταση του πίνακα — O(n).
Παράδειγμα χρήσης:
ArrayList<String> list = new ArrayList<>();
list.add("Привет");
String first = list.get(0);