Array

Aus FLBK-Wiki
Version vom 23. September 2025, 08:31 Uhr von Flbkwikiadmin (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „==Einführung== '''Arrays''' in Java sind Container-Objekte, die eine feste Anzahl von Werten eines bestimmten Datentyps speichern. Das Wort "Array" lässt sich ins Deutsche mit "Ansammlung" oder "Aufstellung" übersetzen. Arrays werden in Java als eigene Klasse in der Standardbibliothek verwaltet und sind komplexe Datentypen. Sie bilden die Grundlage für die Implementierung dynamischer Datenstrukturen wie der ArrayList. <html> <iframe w…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Einführung

Arrays in Java sind Container-Objekte, die eine feste Anzahl von Werten eines bestimmten Datentyps speichern. Das Wort "Array" lässt sich ins Deutsche mit "Ansammlung" oder "Aufstellung" übersetzen. Arrays werden in Java als eigene Klasse in der Standardbibliothek verwaltet und sind komplexe Datentypen. Sie bilden die Grundlage für die Implementierung dynamischer Datenstrukturen wie der ArrayList.

Eindimensionale Arrays

Ein eindimensionales Array speichert eine geordnete Menge von Elementen eines Typs, vergleichbar mit einem Bücherregal, das eine Reihe von Büchern aufnimmt.

Grundsätzlicher Aufbau

Ein Array besteht aus einer festdefinierten Anzahl von Speicherplätzen (seine Länge). Jeder Speicherplatz, auch Element genannt, ist über einen numerischen Index adressierbar. Die Nummerierung beginnt immer bei 0. Die Länge eines Arrays wird bei seiner Instanziierung festgelegt und kann später nicht mehr verändert werden.

Syntax

Deklaration

Bei der Deklaration wird der Typ und Name des Arrays festgelegt, aber noch kein Speicherplatz reserviert. Die eckigen Klammern [] kennzeichnen die Variable als Array.

// Deklaration eines Integer-Arrays
int[] einArray;

// Arrays beliebiger (primitive oder komplexer) Datentypen sind möglich
byte[] einArrayMitBytes;
Mitarbeiter[] einArrayMitMitarbeitern;

Instanziierung und Initialisierung

Die Instanziierung erfolgt mit dem Schlüsselwort new, wobei die Länge des Arrays angegeben wird.

// Instanziierung mit einer Länge von 10
einArray = new int[10];

Alternativ kann ein Array direkt bei der Deklaration mit Werten initialisiert werden. Die Länge ergibt sich aus der Anzahl der Elemente.

// Kurzschreibweise zur Deklaration und Initialisierung
int[] einArray = { 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000 };

Speichern und Lesen

Der Zugriff auf Elemente erfolgt über den Index in eckigen Klammern.

// Speichern eines Wertes an Index 0
einArray[0] = 100;

// Lesen des Wertes von Index 0
System.out.println("Element Index 0: " + einArray[0]);

Beispiel

Das folgende Beispiel demonstriert die Handhabung eines eindimensionalen Arrays.

class ArrayDemoEindimensional {
    public static void erstelleArray() {
        // Deklaration und Instanziierung
        int[] einArray = new int[10];

        // Befüllen des Arrays
        einArray[0] = 100;
        einArray[1] = 200;
        einArray[2] = 300;
        einArray[3] = 400;
        einArray[4] = 500;
        einArray[5] = 600;
        einArray[6] = 700;
        einArray[7] = 800;
        einArray[8] = 900;
        einArray[9] = 1000;

        // Auslesen und Ausgabe der Elemente
        for (int i = 0; i < einArray.length; i++) {
            System.out.println("Element Index " + i + ": " + einArray[i]);
        }
    }
}

Ausgabe:

Element Index 0: 100
Element Index 1: 200
...
Element Index 9: 1000

Mehrdimensionale Arrays

Mehrdimensionale Arrays sind "Arrays von Arrays". Ein zweidimensionales Array kann man sich als Matrix oder Tabelle vorstellen, bei der jede Zelle durch zwei Indizes (z.B. Zeile und Spalte) eindeutig bestimmt ist. Sie werden in der Praxis z.B. zur Darstellung von Bildern (Matrizen von Pixelwerten) verwendet.

Grundsätzlicher Aufbau

Ein zweidimensionales Array enthält mehrere eindimensionale Arrays. Die Deklaration erfolgt mit weiteren eckigen Klammern.

Syntax

Deklaration

// Deklaration eines zweidimensionalen String-Arrays
String[][] promis;

Instanziierung und Initialisierung

// Instanziierung einer 10x2 Matrix
promis = new String[10][2];

Speichern und Lesen

Der Zugriff erfordert die Angabe aller Indizes.

// Speichern von Werten
promis[0][0] = "Boris";
promis[0][1] = "Becker";

// Lesen von Werten
System.out.println(promis[0][0] + " " + promis[0][1]);

Beispiel

class ZweiDimensionalesArray {
    public static void erstelle2DArray() {
        // Deklaration und Instanziierung
        String[][] promis = new String[4][2];

        // Befüllen der Matrix
        promis[0][0] = "Boris";  promis[0][1] = "Becker";
        promis[1][0] = "Angela"; promis[1][1] = "Merkel";
        promis[2][0] = "Lana";   promis[2][1] = "Del Ray";
        promis[3][0] = "Lukas";  promis[3][1] = "Podolski";

        // Ausgabe
        for (int i = 0; i < promis.length; i++) {
            System.out.println("Aktueller Promi:");
            System.out.println(promis[i][0] + " " + promis[i][1]);
        }
    }
}

Ausgabe:

Aktueller Promi:
Boris Becker
Aktueller Promi:
Angela Merkel
Aktueller Promi:
Lana Del Ray
Aktueller Promi:
Lukas Podolski

Häufige Fehler

ArrayIndexOutOfBoundsException

Diese Exception wird geworfen, wenn versucht wird, auf einen Index zuzugreifen, der negativ ist oder größer/gleich der Länge des Arrays. Der Fehler tritt zur Laufzeit auf.

Beispiel:

int[] einArray = new int[10];
System.out.println(einArray[10]); // Zugriff auf Index 10, obwohl nur 0-9 erlaubt sind

NullPointerException

Diese Exception tritt auf, wenn auf ein Element eines Arrays zugegriffen werden soll, das null ist. Dies passiert häufig bei Arrays komplexer Datentypen, die nicht vollständig initialisiert wurden.

Beispiel:

Mitarbeiter[] mitarbeiterListe = new Mitarbeiter[5];
mitarbeiterListe[0] = new Mitarbeiter("Paul", "Müller");
// mitarbeiterListe[1] wurde nie initialisiert und ist null
System.out.println(mitarbeiterListe[1].gibNachname()); // NullPointerException