Tipo di insieme ArrayList

L'ArrayList è una versione sofisticata di una matrice. La classe ArrayList fornisce alcune funzioni disponibili nella maggior parte delle classi Collections, ma assenti nella classe Array. Esempio:

  • La capacità di una classe Array è fissa, mentre la capacità di un ArrayList viene automaticamente estesa in base alle necessità. Se il valore di una proprietà ArrayList.Capacity viene modificato, la riallocazione della memoria e la copia degli elementi vengono eseguite automaticamente.
  • ArrayList fornisce metodi che consentono di aggiungere, inserire o rimuovere un intervallo di elementi. In Array è possibile ottenere o impostare il valore di un solo elemento alla volta.
  • È semplice creare una versione sincronizzata di ArrayList utilizzando il metodo Synchronized. In Array, è l'utente che decide se implementare la sincronizzazione.
  • ArrayList fornisce metodi che restituiscono wrapper di sola lettura e di dimensioni fisse all'insieme, al contrario di Array.

Array, invece, offre una flessibilità che ArrayList non presenta. Esempio:

  • È possibile impostare il limite inferiore di una classe Array, mentre il limite inferiore di una classe ArrayList è sempre pari a zero.
  • L'Array può essere di più dimensioni, mentre l'ArrayList ha esattamente una dimensione.
  • Con un Array di tipo specifico (diverso da Object) si ottengono prestazioni migliori rispetto a un ArrayList poiché gli elementi di ArrayList sono di tipo Object e in genere il boxing e l'unboxing hanno luogo durante l'archiviazione o il recupero di un tipo valore.

La maggior parte delle situazioni che eseguono la chiamata per una matrice possono utilizzare ArrayList. È più facile da utilizzare e, in generale, le prestazioni sono simili a quelle di una matrice di tipo Object.

Array è nello spazio dei nomi System, mentre ArrayList è nello spazio dei nomi System.Collections.

Vedere anche

Tipi di insiemi generici | ArrayList | Spazio dei nomi System.Collections | Array