Arrays (Datenfelder)

Arrays bilden eine wichtige Grundlage für die Speicherung gleichartiger Daten in zahlreichen Anwendungen. Ein- und mehrdimensionale Arrays werden auf verschiedene Weise deklariert und definiert.

Eindimensionale Arrays

Eindimensionale Felder verwenden

    DatenTyp Name_des_Arrays[];
    Name_des_Arrays = new DatenTyp [Datenfeldgröße];

Ist die Länge eines Arrays (seine Größe) bekannt, so kann er mit Hilfe einer Zählschleife leicht durchlaufen werden.

public class array1 {
    public static void main (String [] args) {
        int zahlenfeld[];
        zahlenfeld = new int [10];
 
        for (int i=0; i<10; i++) {
            zahlenfeld[i] = i*i;
        }
 
        System.out.println("Quadratzahlen:");
 
        for (int i=0; i<10; i++) {
            System.out.println(i + "^2 = " + zahlenfeld[i]);
        }
    }
}

Im obigen Beispiel kann auch die Kurzform für die Deklaration und Definition eines Datenfeldes verwendet werden:

        int zahlenfeld[] = new int [10];

Felder initialisieren

Im folgenden Beispiel wird eine Möglichkeit vorgestellt, ein Datenfeld zu definieren und gleichzeitig mit Anfangswerten zu versehen:

public class array2 {
    public static void main (String [] args) {
        int zahlenfeld[] = {2, 3, 5, 7, 11, 13, 17, 23, 29};
 
        for (int i=0; i < zahlenfeld.length;i++) {
            System.out.println(zahlenfeld[i]);
        }
    }
}

Im letzten Beispiel wird die Größe des Datenfeldes mit Hilfe der Variablen length ausgegeben. Genaugenommen bildet jedes Datenfeld eine Klasse, die u.A. diese Instanzvariable zur Verfügung stellt.

Mehrdimensionale Datenfelder

Zweidimensionale Arrays (Tabellen)

Im nächsten Beispiel wird eine Tabelle mit zwei Reihen und drei Spalten verwendet.

public class array3 {
    public static void main (String [] args) {
        int tabelle[][] = new int [2][3];
 
        tabelle[0][0] = 1;
        tabelle[0][1] = 2;
        tabelle[0][2] = 3;
        tabelle[1][0] = 4;
        tabelle[1][1] = 5;
        tabelle[1][2] = 6;
 
        for (int i=0;i<tabelle.length;i++) {
            for (int j=0;j<tabelle[i].length;j++) {
                System.out.print(tabelle[i][j] + "  ");
            }
            System.out.println();
        }
    }
}

Damit erhalten wir die folgende Ausgabe:

1  2  3  
4  5  6

Auch mehrdimensionale Arrays können bei der Definition initialisiert werden. Damit erhalten wir die folgende Variante des letzten Beispiels:

public class array4 {
    public static void main (String [] args) {
        int tabelle[][] = {{1, 2, 3},
                           {4, 5, 6}};
 
        for (int i=0;i<tabelle.length;i++) {
            for (int j=0;j<tabelle[i].length;j++) {
                System.out.print(tabelle[i][j] + "  ");
            }
            System.out.println();
        }
    }
}

Dreidimensionale Arrays

Mehrdimensionale Arrays werden im Allgemeinen sehr schnell übersichtlich. Ein dreidimensionales Datenfeld könnte beispielsweise als eine Ansammlung von Tabellen verstanden werden1).

1) So enthält eine Datenbank normalerweise mehrere Tabellen. Haben diese Tabellen alle die gleiche Dimension, so könnte die Datenbank auch als dreidimensionales Datenfeld abgebildet werden…