Sobes.tech
Junior

Cos'è ArrayList?

sobes.tech AI

Risposta dell'AI

ArrayList è un array dinamico in Java che fa parte del Framework delle Collezioni. Implementa l'interfaccia List.

Caratteristiche principali:

  • Dimensione modificabile: La dimensione di ArrayList può aumentare o diminuire dinamicamente man mano che si aggiungono o rimuovono elementi.
  • Accesso tramite indice: Gli elementi sono memorizzati in ordine di inserimento e sono accessibili tramite un indice intero, a partire da 0.
  • Permette null: Può contenere elementi null.
  • Permette duplicati: Può contenere elementi ripetuti.
  • Non sincronizzato: Per impostazione predefinita non è sicuro per i thread. Per una versione thread-safe si può usare Collections.synchronizedList(new ArrayList<...>()).
  • Ricerca: È efficiente per operazioni di ricerca di elementi per indice (O(1)).
  • Inserimento/Eliminazione: Le operazioni di inserimento e rimozione possono essere lente (O(n)), specialmente all'inizio o nel mezzo della lista, poiché potrebbe essere necessario spostare tutti gli elementi successivi.

Esempio di creazione:

// Esempio di creazione di ArrayList di stringhe
ArrayList<String> nomi = new ArrayList<>();

Metodi principali:

Metodo Descrizione
add(E e) Aggiunge un elemento alla fine della lista
add(int index, E element) Inserisce un elemento all'indice specificato
get(int index) Restituisce l'elemento all'indice specificato
remove(int index) Rimuove l'elemento all'indice specificato
size() Restituisce il numero di elementi
isEmpty() Verifica se la lista è vuota
contains(Object o) Verifica se l'elemento è presente
clear() Rimuove tutti gli elementi