Sobes.tech
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(όνομα);
}