Junior
Τι είναι το ArrayList;
sobes.tech AI
Απάντηση από AI
ArrayList είναι μια μεταβλητή συλλογή που βασίζεται σε πίνακα. Υλοποιεί τη διεπαφή List και παρέχει μια δυναμική λίστα αντικειμένων, όπου το μέγεθος μπορεί να αυξάνεται ή να μειώνεται καθώς προστίθενται ή διαγράφονται στοιχεία.
Βασικά χαρακτηριστικά:
- Τυχαία πρόσβαση: Τα στοιχεία είναι προσβάσιμα μέσω δείκτη σε χρόνο O(1).
- Δυναμικό μέγεθος: Όταν προστίθενται στοιχεία και ο εσωτερικός πίνακας είναι γεμάτος, δημιουργείται ένας νέος πίνακας μεγαλύτερου μεγέθους και τα παλιά στοιχεία αντιγράφονται σε αυτόν.
- Δεν είναι ασφαλές για νήματα: Αν απαιτείται η χρήση σε περιβάλλον πολλαπλών νημάτων, χρειάζεται συγχρονισμός, π.χ. με
Collections.synchronizedList(). - Καλύτερα για: Συχνές λειτουργίες ανάγνωσης και σπάνιες λειτουργίες εισαγωγής/διαγραφής στη μέση της λίστας.
Παράδειγμα δημιουργίας και χρήσης:
List<String> list = new ArrayList<>();
list.add("Στοιχείο 1");
list.add("Στοιχείο 2");
String element = list.get(0); // Πρόσβαση μέσω δείκτη
System.out.println(element);