Elementi fondamentali degli array

Flash Player 9 e versioni successive, Adobe AIR 1.0 e versioni successive

Spesso nella programmazione è necessario lavorare con una serie di elementi anziché con un singolo oggetto. Ad esempio, in un'applicazione di riproduzione musicale, potrebbe essere necessario disporre di un elenco di brani da riprodurre. Non è necessario creare una variabile separata per ogni brano dell'elenco. È preferibile raggruppare tutti gli oggetti Song e gestirli come gruppo.

Un array è un elemento di programmazione che funge da contenitore per una serie di voci, quale un elenco di brani. Spesso tutti gli elementi all'interno di un array sono istanze di una stessa classe, ma questo non è un requisito indispensabile in ActionScript. Le singole voci di un array sono conosciute come gli elementi dell'array. Un array può essere considerato come uno schedario di variabili. Le variabili possono essere aggiunte come elementi dell'array, così come si aggiunge una cartella nello schedario. Potete gestire l'array come se fosse una singola variabile (come se si trasportasse l'intero schedario in una diversa stanza) e lavorare con le variabili all'interno del gruppo (come se si scorressero una per una le cartelle per cercare un'informazione). Potete anche accedere alle singole variabili (come se si aprisse lo schedario e si estraesse una singola cartella).

Ad esempio, immaginate di creare un'applicazione per un lettore musicale, nel quale l'utente possa selezionare diversi brani e aggiungerli a un elenco di riproduzione. Nel codice ActionScript, è disponibile un metodo chiamato addSongsToPlaylist() che accetta come parametro un singolo array. Indipendentemente dal numero di brani da inserire nell'elenco (pochi, molti o uno soltanto), dovete chiamare il metodo addSongsToPlaylist() una sola volta, specificando l'array contenente gli oggetti Song. All'interno del metodo addSongsToPlaylist(), potete usare una funzione ciclica per passare in rassegna i vari elementi dell'array (i brani) uno a uno e aggiungerli all'elenco di riproduzione.

Il tipo di array ActionScript più comune è l'array indicizzato. In un array indicizzato ogni elemento viene memorizzato in una posizione numerata (detta indice). L'accesso agli elementi avviene tramite il numero di indice, come se si trattasse di un indirizzo. Gli array indicizzati sono in grado di soddisfare la maggior parte delle esigenze di programmazione. La classe Array è una classe comune utilizzata per rappresentare un array indicizzato.

Spesso un array indicizzato viene utilizzato per archiviare diversi elementi dello stesso tipo (oggetti che sono istanze della stessa classe). La classe Array non consente nessun tipo di limitazione sul tipo di elementi in essa contenuti. La classe Vector è un tipo di array indicizzato all'interno del quale tutti gli elementi di un array singolo appartengono allo stesso tipo. Utilizzando un'istanza Vector anziché un'istanza Array è possibile ottenere dei miglioramenti sulle prestazioni e altri vantaggi. La classe Vector è disponibile a partire da Flash Player 10 e Adobe AIR 1.5.

Un utilizzo particolare di un array indicizzato è costituito dall'array multidimensionale. Un array multidimensionale è un array indicizzato i cui elementi sono array indicizzati (che a loro volta contengono altri elementi).

Un altro tipo di array è l'array associativo, che usa una chiave in formato stringa anziché un indice numerico per identificare i vari elementi. Infine, ActionScript 3.0 contiene anche la classe Dictionary, che rappresenta un dizionario. Un dizionario è un array che consente di utilizzare qualsiasi tipo di oggetto come chiave per la distinzione tra gli elementi.

Concetti e termini importanti

L'elenco di riferimento seguente contiene termini importanti che vengono citati durante la programmazione delle routine di gestione di array e vettori:

Array
Oggetto che funge da contenitore per raggruppare più oggetti.

Operatore di accesso array ([])
Coppia di parentesi quadre che racchiude un indice o una chiave che identifica in modo univoco un elemento di un array. Questa sintassi viene utilizzata dopo il nome della variabile array per specificare un singolo elemento dell'array anziché l'intero array.

Array associativo
Array che usa chiavi di stringa per identificare singoli elementi.

Tipo base
Tipo di dati dell'oggetto che l'istanza Vector può memorizzare.

Dizionario
Array i cui elementi sono costituiti da coppie di oggetti, conosciuti come chiave e valore. La chiave viene utilizzata al posto dell'indice numerico per identificare singoli elementi.

Elemento
Singola voce di un array.

Indice
“Indirizzo” numerico utilizzato per identificare un singolo elemento in un array indicizzato.

Array indicizzato
Tipo di array standard nel quale gli elementi vengono memorizzati come elementi numerati e tale numerazione (indice) viene usata per identificare i singoli elementi.

Chiave
Stringa o oggetto utilizzato per identificare un singolo elemento in un array associativo o in un dizionario.

Array multidimensionale
Array contenente elementi che sono a loro volta array anziché singoli valori.

T
Convenzione standard utilizzata all'interno di questa documentazione per rappresentare il tipo base dell'istanza Vector, indipendentemente da quale sia il tipo di base. La convenzione T viene utilizzata per rappresentare il nome di una classe, come mostrato nella descrizione del parametro Type (“T” sta per “tipo” come in “tipo di dati”).

Parametro tipo
Sintassi utilizzata con il nome della classe Vector per specificare il tipo di base del vettore (quindi il tipo di dati degli oggetti in esso memorizzati). La sintassi è costituita da un punto (.), quindi dal nome del tipo di dati racchiuso tra parentesi angolari (<>). La sintassi completa, pertanto, sarà simile alla seguente: Vector.<T>. In questa documentazione, la classe specificata all'interno del parametro Type viene rappresentata generalmente con T.

Vettore
Tipo di array i cui elementi sono tutti istanze dello stesso tipo di dati.