Ein Array kann mehr als 3 Dimensionen haben.
Beispiel:
In einem Raum sind Temperatursensoren in einem dreidimensionalen rechtwinkligen Gitter angebracht.
Ein Punkt dieser Gitterstruktur wird durch drei Indizes x, y, z beschrieben. Eine weitere Dimension erhält man, wenn man für verschiedene Zeitpunkte ein Array von dreidimensionalen Arrays anlegt. Für jede der drei Raumkoordinaten ergibt sich die Möglichkeit, Werte zu verschiedenen Zeitpunkten zu speichern.
In Java kann man diese Aufgabenstellung wie folgt formulieren:
final int N = 10; int[][][][] a = new int[60 * 24][N][N][N]; for (int time = 0; time < a.length; time++) { int data[][][] = a[time]; for (int x = 0; x < N; x++) { for (int y = 0; y < N; y++) { for (int z = 0; z < N; z++) { data[x][y][z] = getSensorData(x, y, z); } } } }
Im Array a ist die erste Dimension die Zeit. Im Minutenabstand können im Array für einen Tag Werte für die durch x, y, z definierten Raumpunkte abgelegt werden. Die Methode getSensorData(x, y, z) liefert den Messwert an der Position (x, y, z).