Salta ai contenuti

ArrayList

Un array ha una dimensione fissa. Se lo crei con 3 elementi, resta di 3 elementi.

ArrayList e una lista dinamica: puoi aggiungere e rimuovere elementi mentre il programma gira.

Prima devi importarla:

import java.util.ArrayList;
import java.util.ArrayList;
public class ListaNomi {
public static void main(String[] args) {
ArrayList<String> nomi = new ArrayList<>();
nomi.add("Luca");
nomi.add("Sara");
nomi.add("Mina");
System.out.println(nomi);
}
}

Output:

[Luca, Sara, Mina]

ArrayList<String> significa: “lista di stringhe”.

Usa add:

ArrayList<String> prodotti = new ArrayList<>();
prodotti.add("Pane");
prodotti.add("Latte");
prodotti.add("Mele");

Ogni add aggiunge un elemento in fondo alla lista.

Usa get con l’indice.

ArrayList<String> nomi = new ArrayList<>();
nomi.add("Luca");
nomi.add("Sara");
System.out.println(nomi.get(0));

Output:

Luca

Anche qui gli indici partono da zero.

Usa set.

ArrayList<String> nomi = new ArrayList<>();
nomi.add("Luca");
nomi.add("Sara");
nomi.set(1, "Giulia");
System.out.println(nomi);

Output:

[Luca, Giulia]

Usa remove.

ArrayList<String> prodotti = new ArrayList<>();
prodotti.add("Pane");
prodotti.add("Latte");
prodotti.add("Mele");
prodotti.remove("Latte");
System.out.println(prodotti);

Output:

[Pane, Mele]

Puoi rimuovere anche per indice:

prodotti.remove(0);

size() restituisce il numero di elementi.

ArrayList<String> nomi = new ArrayList<>();
nomi.add("Luca");
nomi.add("Sara");
System.out.println(nomi.size());

Output:

2

Negli array usi length. Nelle ArrayList usi size().

Usa un array quando:

  • la dimensione e fissa
  • vuoi una struttura semplice
  • stai facendo esercizi sugli indici

Usa ArrayList quando:

  • il numero di elementi puo cambiare
  • devi aggiungere o rimuovere valori
  • vuoi una lista piu comoda da gestire
import java.util.ArrayList;
public class Spesa {
public static void main(String[] args) {
ArrayList<String> lista = new ArrayList<>();
lista.add("Pane");
lista.add("Latte");
lista.add("Mele");
lista.remove("Latte");
lista.add("Pasta");
for (int i = 0; i < lista.size(); i++) {
System.out.println("- " + lista.get(i));
}
}
}

Output:

- Pane
- Mele
- Pasta

ArrayList e una delle strutture piu usate in Java quando lavori con gruppi di dati.