Gli array

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 all’identificatore.

- 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 dell’istanza dell’array, la dimensione dell’array 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 dell’array.

- 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();


L’indice 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 dell’array 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.

 

 



Ti potrebbe interessare anche

commenta la notizia

C'è 1 commento
Lorenzo
Hai qualche domanda da fare?