Array Multidimensionali con Java

Creato il 13 marzo 2011 da Magnus

Per poter rappresentare strutture dati a due o più dimensioni, Java supporta gli  array  multidimensionali  o  array  di  array.  Per  dichiarare  un  array multidimensionale la sintassi è simile a quella per gli array, con la differenza che  è  necessario  specificare  ogni  dimensione,  utilizzando  una  coppia  di parentesi “[]”. Un array a due dimensioni può essere dichiarato nel seguente modo:

tipo[][] identificatore;

in cui “tipo” ed “identificatore”  rappresentano  rispettivamente  il  tipo  base dell’array ed il nome che ci consentirà di accedere ai dati in esso contenuti.

Nella realtà, Java organizza gli array multidimensionali come “array di array”; per  questo  motivo,  non  è  necessario  specificarne  la  lunghezza  per  ogni dimensione dichiarata, al momento della creazione: in altre parole, un array multidimensionale non deve essere necessariamente creato utilizzando una singola operazione “new”. 

Nel  prossimo  esempio,  rappresentiamo  una  tavola  per  il  gioco  della  dama utilizzando  un  array  a  due  dimensioni  il  cui  tipo  base  è  l’oggetto  Pedina.

L’inizializzazione dell’oggetto viene effettuata riga per riga, un valore null nella posizione [i][j] identifica una casella vuota (Figura).


Pedina[][] dama = new Pedina[8][];

Pedina[] riga0 = {

new Pedina(“bianca”),null, new Pedina(“bianca”),null,

new Pedina(“bianca”),null, new Pedina(“bianca”),null

};

Pedina[] riga1 = {

null, new Pedina(“bianca”), null, new Pedina(“bianca”),

null, new Pedina(“bianca”), null, new Pedina(“bianca”)

};

Pedina[] riga2 = {

new Pedina(“bianca”),null, new Pedina(“bianca”),null,

new Pedina(“bianca”),null, new Pedina(“bianca”),null

};

Pedina[] riga3 = { null, null, null, null, null, null, null, null };

Pedina[] riga4 = { null, null, null, null, null, null, null, null };

Pedina[] riga5 = {

null, new Pedina(“nera”), null, new Pedina(“nera”),

null, new Pedina(“nera”), null, new Pedina(“nera”)

};

Pedina[] riga6 = {

new Pedina(“nera”),null, new Pedina(“nera”),null,

new Pedina(“nera”),null, new Pedina(“nera”),null

};

Pedina[] riga7 = {

null, new Pedina(“nera”), null, new Pedina(“nera”),

null, new Pedina(“nera”), null, new Pedina(“nera”)

};

dama[0] = riga0;

dama[1] = riga1;

dama[2] = riga2;

dama[3] = riga3;

dama[4] = riga4;

dama[5] = riga5;

dama[6] = riga6;

dama[7] = riga7;

Fonte: Java Mattone dopo Mattone


Potrebbero interessarti anche :

Possono interessarti anche questi articoli :