Sobes.tech
Junior

Cos'è ArrayList?

sobes.tech AI

Risposta dell'AI

ArrayList — è un array dinamico in Java, implementato su un array normale.

Caratteristiche principali:

  • Dimensione dinamica: può crescere o ridursi man mano che vengono aggiunti o rimossi elementi.
  • Accesso indicizzato: gli elementi sono accessibili tramite il loro indice (a partire da 0).
  • Ordine degli elementi: mantiene l'ordine di inserimento.
  • Non è sicuro per i thread: non sincronizzato, per scenari multi-thread si usa Vector o Collections.synchronizedList.
  • Prestazioni:
    • Aggiunta/rimozione alla fine O(1) in media (tempo ammortizzato).
    • Aggiunta/rimozione nel mezzo O(n) (è necessario spostare gli elementi).
    • Accesso tramite indice O(1).
    • Ricerca di un elemento O(n).

Esempio di utilizzo:

import java.util.ArrayList;

// Creazione di ArrayList
ArrayList<String> nomi = new ArrayList<>();

// Aggiunta di elementi
nomi.add("Alice");
nomi.add("Bob");
nomi.add("Charlie");

// Accesso a un elemento tramite indice
String primoElemento = nomi.get(0); // "Alice"

// Dimensione dell'ArrayList
int dimensione = nomi.size(); // 3

// Rimozione di un elemento
nomi.remove("Bob"); // Rimuove la prima occorrenza di "Bob"
nomi.remove(0); // Rimuove l'elemento all'indice 0 (ora "Charlie")

// Iterare sugli elementi
for (String nome : nomi) {
    System.out.println(nome);
}