Buono sconto 4% su Toner e Cartucce agli utenti AZpoint. SU Iomiricarico.it!!
- Gli array in Java
Un array è una collezione di tipi di dati
primitivi, o di reference, o di altri array. Gli array permettono di
utilizzare un solo nome per individuare una collezione costituita da
vari elementi che saranno accessibili tramite degli indici interi. In
Java gli array sono, in quanto collezioni, oggetti.
Per creare ed utilizzare un array, bisogna passare
attraverso tre fasi: dichiarazione, istanza ed inizializzazione.
- Dichiarazione:
Di seguito presentiamo due dichiarazioni di array.
Nella prima dichiariamo un array di char
(tipo primitivo), nella seconda dichiariamo un array di istanze di
Button (classe appartenente al
package java.awt):
char
alfabeto []; oppure char
[] alfabeto;
Button
bottoni []; oppure Button
[] bottoni;
In pratica, per dichiarare un array, basta
posporre (oppure anteporre) una coppia di parentesi quadre
allidentificatore.
- Istanza:
Un array è un oggetto (speciale) in Java e,
in quanto tale, va istanziato in modo particolare. La sintassi è
la seguente:
alfabeto = new char[21];
bottoni = new Button[3];
Come il lettore può notare, è
obbligatorio specificare al momento dellistanza dellarray,
la dimensione dellarray stesso. A questo punto però
tutti gli elementi dei due array sono inizializzati automaticamente
ai relativi valori nulli. Vediamo allora come inizializzare
esplicitamente gli elementi dellarray.
- Inizializzazione:
Per inizializzare un array, bisogna inizializzare
ogni elemento singolarmente:
alfabeto
[0] = a;
alfabeto
[1] = b;
alfabeto
[2] = c;
alfabeto
[3] = d;
. . . . .
. . . . .
alfabeto
[20] = z;
bottoni
[0] = new Button();
bottoni
[1] = new Button();
bottoni
[2] = new Button();
Lindice di un array, inizia sempre da zero.
Quindi un array dichiarato di 21 posti, avrà come indice
minimo 0, e massimo 20.
Il lettore avrà sicuramente notato che è
molto scomodo inizializzare un array in questo modo, per di più
dopo averlo prima dichiarato ed istanziato. Ma Java ci viene incontro
dandoci la possibilità di eseguire tutti e tre i passi
principali per creare un array, tramite una particolare sintassi che
di seguito presentiamo:
char
alfabeto [] = { a,b,c,d,e,
,z}
;
Button
bottoni [] = { new Button(), new Button(),
new
Button()}
;
Un array non è ridimensionabile, e se
dichiarato di un certo tipo di dato, non potrà immagazzinare
elementi di altri tipi (tranne nei casi in cui si applica il
polimorfismo
). Esiste anche una variabile chiamata length
che applicata ad un array, restituisce la dimensione effettiva
dellarray stesso. Quindi
alfabeto.length
varrà 21.
Esistono anche array multidimensionali, che sono
array di array. A differenza della maggior parte degli altri
linguaggi di programmazione, in Java quindi, un array bidimensionale
non deve per forza essere rettangolare. Di seguito è
presentato un esempio:
int
arrayNonRettangolare [][]=new int[4][];
arrayNonRettangolare [0]=new int[2];
arrayNonRettangolare [1]=new int[4];
arrayNonRettangolare [2]=new int[6];
arrayNonRettangolare [3]=new int[8];
arrayNonRettangolare [0][0]=1;
arrayNonRettangolare [0][1]=2;
arrayNonRettangolare [1][0]=1;
. . . . .
. . . . . . . . . . .
arrayNonRettangolare [3][8]=10;
oppure, equivalentemente:
int
arrayNonRettangolare [][]={
{1,2}
{1,0,0,0}
{0,0,0,0,0,0}
{0,0,0,0,0,0,0,10}
}
;
N.B.: Il lettore è rimandato al prossimo
modulo per la conoscenza dei cicli. Essi ci permetteranno in alcuni
casi di inizializzare gli array in maniera molto comoda.
|