Elenco array
A differenza degli array ordinari,   ArrayList dal pacchetto java.util è un array che si espande automaticamente. Quando crei un oggetto di tipo ArrayList, non è necessario specificarne la dimensione. Per esempio, ArrayList list = new ArrayList();
Vantaggi ArrayList rispetto a un normale array:
  • accesso rapido agli elementi per indice in tempo costante O(1);
  • accedi agli elementi per valore in tempo lineare O(n);
  • ti consente di memorizzare qualsiasi valore, incluso null.

Debolezze ArrayList:
Inserimento/rimozione di un elemento  provoca la sovrascrittura di tutti gli elementi posti "a destra" nella lista una posizione a sinistra, cioè funziona in tempo lineare O(n);

Ricorda che le liste possono contenere solo oggetti, quindi se vuoi memorizzare numeri usa Integer invece di int. Integer è il nome di una classe e un oggetto di questa classe può contenere un valore intero. Puoi leggere ulteriori informazioni su classi e oggetti qui: introduzione alla programmazione orientata agli oggetti.

Ci sono due opzioni per aggiungere un elemento a un ArrayList:
add(value);  - aggiunta di un valore alla fine dell'ArrayList
add(index, value); - aggiunta di un valore al posto giusto tramite index.

Ad esempio:
arr.aggiungi(10);
arr.aggiungi(5,10); 
 

Per ottenere il valore di un elemento da un ArrayList, usa il metodo  get(index)
Ad esempio:
int a = arr. ottieni(0);

Per scoprire il numero di elementi in un array, puoi utilizzare il metodo size()
Ad esempio:
int conteggio = arr. dimensione();

Per modificare il valore in base all'indice nell'elenco, utilizza name.set(index,value); 
 
arr.imposta(0,10); 

Ci sono due opzioni per aggiungere un elemento a un ArrayList:
add(value);  - aggiunta di un valore alla fine dell'ArrayList
add(index, value); - aggiunta di un valore al posto giusto tramite index.

Ad esempio:
arr.aggiungi(10);
arr.aggiungi(5,10); 
 

Puoi rimuovere elementi in un ArrayList utilizzando il metodo remove in due modi:
  • per indice remove(index)
  • per valore remove(value)
Ad esempio:
 
arr.rimuovi(0); //rimuove il primo elemento
arr.rimuovi(< strong>new Intero(10)); //elimina l'elemento con valore 10

Elenco array inverso
L'interfaccia Collections  fornisce anche metodi per operazioni in blocco che funzionano sull'intera raccolta:
containsAll - restituisce il valore booleano true se questa raccolta contiene tutti gli elementi della raccolta richiamata, altrimenti restituisce false.
addAll - aggiunge tutti gli elementi specificati alla raccolta specificata. Gli elementi da aggiungere possono essere specificati singolarmente o come array.
removeAll -  viene utilizzato per rimuovere dall'elenco tutti gli elementi contenuti nella raccolta specificata.
clear - rimuove tutti gli elementi
reverse - matrice inversa
ecc.

Esempio
Usando removeAll. ArrayList<Numero intero> first = new ArrayList<Integer>(); primo.add(1); primo.add(2); primo.add(3); ArrayList<Numero intero> second = new ArrayList<Integer>(); secondo.add(1); secondo.add(2); // rimuove tutti gli elementi dal secondo elenco, // se esistono nel primo elenco second.removeAll(first);