# Dreidimensionales Array? Wie initialisieren?



## fsteinke (30. Okt 2009)

Hallo,

habe mal eine Frage zu arrays.

Habe gerade in einem Buch folgende Deklaration gesehen.

int [] x [][]; 

Soll ein dreidimensionales Array sein. Verstehe ich nicht dachte immer das sieht dann so aus.

int [][][] x [][][];

Egal ... die erste Variante muss ich doch aber irgendwie Konstruieren und initialisieren können . WIe mache ich das?


Danke für jeden Tip

Gruß Frederick


----------



## SlaterB (30. Okt 2009)

z.B.
int[][][] x = new int[3][4][5];

oder 
int[][][] x = new int[3][4][];
x[0][0] = new int[30];
x[0][1] = new int[300];


----------



## Michael... (30. Okt 2009)

[OffTopic] Spricht man bei sowas (int[][][]) echt von Dimensionen?


----------



## Landei (30. Okt 2009)

Ja sicher. In jeder Klammer steht sozusagen (wenn man es so interpretieren will) eine "Koordinate", und f[x][y][z] bildet demnach ein dreidimensionales "Gitter" ab. Insofern ist es schon einleuchtend, dass f als "dreidimensionales" Array bezeichnet wird.


----------



## fsteinke (30. Okt 2009)

Danke für die schnelle Antwort,


Wollte nur zu int [] x [][];  wissen warum das geht bzw. wie ich dann initialisiere etc.
Hab ich da nen Denkfehler?


Danke Frederick


----------



## Landei (30. Okt 2009)

Diese Schreibweise ist veraltet und verwirrend. Standard ist, dass alle [] hinter dem Typ kommen, dass das auch nach der Variable erlaubt ist, ist ein C/C++ Überbleibsel. "Eigentlich" sind in Java alle Arrays eindimensional, nur dass eben auch Arrays als Array-Elemente erlaubt sind (sie also "verschachtelt" werden können). Das Konstrukt int[][][] x ist also "eigentlich" ein Array von Arrays von int-Arrays.


----------

