Junior
Τι είναι το ArrayList;
sobes.tech AI
Απάντηση από AI
ArrayList — είναι ένας δυναμικός πίνακας στη Java, υλοποιημένος με βάση έναν συνηθισμένο πίνακα.
Βασικά χαρακτηριστικά:
- Δυναμικό μέγεθος: μπορεί να μεγαλώνει ή να μικραίνει καθώς προστίθενται ή αφαιρούνται στοιχεία.
- Προσπέλαση με δείκτη: τα στοιχεία είναι προσβάσιμα μέσω του δείκτη τους (αρχίζοντας από το 0).
- Σειρά στοιχείων: διατηρεί τη σειρά με την οποία προστίθενται.
- Δεν είναι ασφαλές για πολλαπλά νήματα: δεν είναι συγχρονισμένο, για περιβάλλοντα πολλαπλών νημάτων χρησιμοποιούνται
VectorήCollections.synchronizedList. - Απόδοση:
- Προσθήκη/αφαίρεση στο τέλος O(1) κατά μέσο όρο (χρόνος αποζημίωσης).
- Προσθήκη/αφαίρεση στο μέσο O(n) (απαιτείται μετακίνηση στοιχείων).
- Πρόσβαση μέσω δείκτη O(1).
- Αναζήτηση στοιχείου O(n).
Παράδειγμα χρήσης:
import java.util.ArrayList;
// Δημιουργία ArrayList
ArrayList<String> ονόματα = new ArrayList<>();
// Προσθήκη στοιχείων
ονόματα.add("Alice");
ονόματα.add("Bob");
ονόματα.add("Charlie");
// Πρόσβαση σε στοιχείο μέσω δείκτη
String πρώτοΣτοιχείο = ονόματα.get(0); // "Alice"
// Μέγεθος ArrayList
int μέγεθος = ονόματα.size(); // 3
// Αφαίρεση στοιχείου
ονόματα.remove("Bob"); // Αφαιρεί την πρώτη εμφάνιση του "Bob"
ονόματα.remove(0); // Αφαιρεί το στοιχείο στη θέση 0 (τώρα "Charlie")
// Επανάληψη στοιχείων
for (String όνομα : ονόματα) {
System.out.println(όνομα);
}