Java: la classe ArrayList

La classe ArrayList estende AbstractList e implementa l'interfaccia List. ArrayList supporta array dinamici che possono crescere secondo necessità.

Gli array Java standard hanno una lunghezza fissa. Dopo che gli array sono stati creati, non possono crescere o ridursi, il che significa che devi sapere in anticipo quanti elementi un array conterrà.

Gli elenchi di array vengono creati con una dimensione iniziale. Quando questa dimensione viene superata, la raccolta viene automaticamente ingrandita. Quando gli oggetti vengono rimossi, la matrice potrebbe essere ridotta.

Di seguito è riportato l'elenco dei costruttori forniti dalla classe ArrayList.

Sr.No. Costruttore e descrizione
1

ArrayList( )

Questo costruttore crea un elenco di array vuoto.

2

ArrayList(Collection c)

Questo costruttore crea un elenco di array inizializzato con gli elementi della raccolta c.

3

ArrayList(int capacity)

Questo costruttore crea un elenco di array con la capacità iniziale specificata. La capacità è la dimensione della matrice sottostante utilizzata per memorizzare gli elementi. La capacità aumenta automaticamente quando gli elementi vengono aggiunti a un elenco di array.

Oltre ai metodi ereditati dalle sue classi genitore, ArrayList definisce i seguenti metodi:

Sr.No. Metodo e descrizione
1

void add(int index, Object element)

Inserisce l'elemento specificato in corrispondenza dell'indice di posizione specificato in questo elenco. Genera IndexOutOfBoundsException se l'indice specificato è fuori intervallo (index <0 || index> size ()).

2

boolean add(Object o)

Aggiunge l'elemento specificato alla fine di questo elenco.

3

boolean addAll(Collection c)

Aggiunge tutti gli elementi nella raccolta specificata alla fine di questo elenco, nell'ordine in cui vengono restituiti dall'iteratore della raccolta specificata. Genera NullPointerException, se la raccolta specificata è null.

4

boolean addAll(int index, Collection c)

Inserisce tutti gli elementi nella raccolta specificata in questo elenco, a partire dalla posizione specificata. Genera NullPointerException se la raccolta specificata è null.

5

void clear()

Rimuove tutti gli elementi da questo elenco.

6

Object clone()

Restituisce una copia superficiale di questo ArrayList.

7

boolean contains(Object o)

Restituisce vero se questo elenco contiene l'elemento specificato. Più formalmente, restituisce vero se e solo se questo elenco contiene almeno un elementoe tale che (o == null? e == null: o.equals (e)).

8

void ensureCapacity(int minCapacity)

Aumenta la capacità di questa istanza ArrayList, se necessario, per garantire che possa contenere almeno il numero di elementi specificato dall'argomento della capacità minima.

9

Object get(int index)

Restituisce l'elemento nella posizione specificata in questo elenco. Genera IndexOutOfBoundsException se l'indice specificato è fuori intervallo (index <0 || index> = size ()).

10

int indexOf(Object o)

Restituisce l'indice in questo elenco della prima occorrenza dell'elemento specificato o -1 se l'elenco non contiene questo elemento.

11

int lastIndexOf(Object o)

Restituisce l'indice in questo elenco dell'ultima occorrenza dell'elemento specificato o -1 se l'elenco non contiene questo elemento.

12

Object remove(int index)

Rimuove l'elemento nella posizione specificata in questo elenco. Genera IndexOutOfBoundsException se l'indice fuori è compreso nell'intervallo (index <0 || index> = size ()).

13

protected void removeRange(int fromIndex, int toIndex)

Rimuove da questo elenco tutti gli elementi il ​​cui indice è compreso tra fromIndex, inclusive e toIndex, esclusivo.

14

Object set(int index, Object element)

Sostituisce l'elemento nella posizione specificata in questo elenco con l'elemento specificato. Genera IndexOutOfBoundsException se l'indice specificato è fuori intervallo (index <0 || index> = size ()).

15

int size()

Restituisce il numero di elementi in questo elenco.

16

Object[] toArray()

Restituisce un array contenente tutti gli elementi in questo elenco nell'ordine corretto. Genera NullPointerException se la matrice specificata è null.

17

Object[] toArray(Object[] a)

Restituisce un array contenente tutti gli elementi in questo elenco nell'ordine corretto; il tipo di runtime dell'array restituito è quello dell'array specificato.

18

void trimToSize()

Riduce la capacità di questa istanza di ArrayList in modo che corrisponda alla dimensione corrente dell'elenco.

Esempio

Il seguente programma illustra molti dei metodi supportati da ArrayList:

import java.util.*;
public class ArrayListDemo {

   public static void main(String args[]) {
      // create an array list
      ArrayList al = new ArrayList();
      System.out.println("Initial size of al: " + al.size());

      // add elements to the array list
      al.add("C");
      al.add("A");
      al.add("E");
      al.add("B");
      al.add("D");
      al.add("F");
      al.add(1, "A2");
      System.out.println("Size of al after additions: " + al.size());

      // display the array list
      System.out.println("Contents of al: " + al);

      // Remove elements from the array list
      al.remove("F");
      al.remove(2);
      System.out.println("Size of al after deletions: " + al.size());
      System.out.println("Contents of al: " + al);
   }
}

Questo produrrà il seguente risultato:

Produzione

Initial size of al: 0
Size of al after additions: 7
Contents of al: [C, A2, A, E, B, D, F]
Size of al after deletions: 5
Contents of al: [C, A2, E, B, D]