Java Array
Hier erfährst du, wie du ein eindimensionales oder mehrdimensionales Array erstellst und wie du auf dessen Elemente in Java zugreifst.
Du verstehst ein Thema besser, indem du es ganz einfach erklärt bekommst, anstatt einen Text zu lesen? Dann schau dir am Besten gleich unser Video an.
Inhaltsübersicht
Arrays in Java einfach erklärt
Unter einem Array in Java versteht man einen Container, der eine feste Anzahl von Werten eines einzelnen Typs enthält. Bei der Deklaration wird von Beginn an ein konkreter Datentyp für das Array bestimmt, der dann nicht mehr verändert werden kann. Außerdem legst du die Länge des Arrays, die Array length, bei der Erstellung fest. Innerhalb des Containers können dann mehrere Werte gespeichert werden, die dem jeweiligen Typ entsprechen. Dieser Prozess wird Initialisierung genannt.
Java Array Aufbau
Das folgende Programm zeigt dir ein einfaches Beispiel für ein Java Array.
class JavaArray {
public static void main(String[] args) {
// Array deklarieren mit dem Datentyp Integer
int[] arr;
//Array besitzt einen Speicher für 4 Integer
arr = new int[4];
// Array initialisieren mit den Werten: 65, 5, 78, 22
arr[0] = 65;
arr[1] = 5;
arr[2] = 78;
arr[3] = 22;
// Zugriff auf alle Werte des Arrays bzw. Ausgabe der Werte
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
System.out.println(arr[3]);
}
}
Die einzelnen Bestandteile werden im Laufe dieses Artikels genauer erläutert.
Über den Zugriff auf alle einzelnen Elemente des Arrays können entsprechend alle gespeicherten Werte des Container ausgegeben werden.
Die Ausgabe des Programms lautet:
65
5
78
22
Array deklarieren – Java
Aber wie lässt sich ein Array deklarieren? Wir zeigen dir hierfür zwei Möglichkeiten. Die Syntax für die Deklaration eines Java Arrays kann beispielsweise folgendermaßen aussehen:
Datentyp[] arrayName = new Datentyp[Anzahl];
Datentyp arrayName[] = new Datentyp[Anzahl];
Wie du siehst, kannst du die eckigen Klammern entweder direkt hinter den Datentyp schreiben oder hinter den Namen des Arrays. Zusätzlich benötigst du für die Erzeugung des Arrays einen new
Operator.
Die in der Praxis bevorzugte Variante baut sich hingegen so auf:
Datentyp[] arrayName;
arrayName = new Datentyp[Anzahl]
Hierbei wird die obere Anweisung in zwei einzelne Anweisungen aufgeteilt.
Beispiel
Schauen wir uns ein Beispiel an, wie du ein Array erstellst, das vier int
Werte speichern kann. Hierfür gibt es zwei Möglichkeiten.
Java Array erstellen – Möglichkeit 1
int[] arr = new int[4];
oder
int arr[] = new int[4];
-
int:
Durch den Integer wird der Datentyp festgelegt. Dadurch lassen sich nur ganzzahlige Werte speichern. -
arr:
ist der Name des Arrays. Diesen kannst du aber auch gerne durch einen anderen Namen ersetzen. -
new:
Dernew
Operator erzeugt ein Objekt. -
int[4]:
Datentypint
gefolgt von eckigen Klammern. In den Klammern gibst du die Anzahl der Werte an, wie viele das Array speichern kann. Hier also 4.
Array erstellen – Möglichkeit 2
int[] arr;
arr = new int [4]
Die Bedeutung der einzelnen Bestandteile sind genau wie oben.
Java Array initialisieren
Im nächsten Schritt musst du nun das Java Array initialisieren. Das bedeutet, dass du den aktuell noch leeren Container mit Werten füllst. Die Einträge besitzen dabei eine bestimmte Reihenfolge – den sogenannten Index der jeweiligen Position. Bei einem Array wird immer ab der 0 angefangen! Dabei erhält das erste Element den Index 0, das zweite den Index 1, der dritte Wert den Index 2 und der vierte Eintrag den Index 3.
Soll die Zuweisung der Werte über die entsprechende Index-Position aufgerufen werden, sieht die Syntax so aus:
arrayName[indexPosition] = Wert;
Dabei ist es auch möglich, dass einzelne Positionen innerhalb des Arrays leer bleiben.
Du hast aber auch die Möglichkeit ein Array direkt bei der Deklaration zu initialisieren:
Datentyp[] arrayName = {Wert1, Wert2, Wert3,...};
Hierbei ist es aber nicht möglich, dem Array im Nachhinein neue Werte zuzuteilen!
Beispiel
Für das Beispiel sollen jetzt die folgenden Werte in genau dieser Reihenfolge in das Array eingefügt werden: 65, 5, 78, 22.
Array initialisieren – Möglichkeit 1
arr[0] = 65;
arr[1] = 5;
arr[2] = 78;
arr[3] = 22;
-
arr:
Name des Arrays, der innerhalb der Deklaration festgelegt wurde. -
[0]:
Die jeweilige Zahl bestimmt die Position innerhalb des Arrays. Hierbei handelt es sich um die erste Position im Array. -
65:
Ist der Wert, der hier der Position null zugeteilt wird.
Array initialisieren – Möglichkeit 2
int[] arr = {65, 5, 78, 22};
Hierbei initialisierst du das Array direkt bei der Deklaration. Die Werte werden in genau dieser Reihenfolge den Indexpositionen zugeteilt:
Index 0 | Index 1 | Index 2 | Index 3 |
65 | 5 | 78 | 22 |
Zugriff auf die Elemente eines Arrays
Über den Index kannst du nun auf die einzelnen Werte des Arrays zugreifen. Möchtest du also nun einzelne Elemente des Arrays ausgeben, kannst du das ganz einfach nach dem folgenden Syntax machen:
System.out.println(Arrayname[indexPosition]);
Angenommen du sollst die Werte der zweiten und vierten Position des Arrays ausgeben, dann musst du auf die Indexposition 1 und 3 zugreifen
System.out.println(arr[1]);
System.out.println(arr[3]);
Entsprechend ist die Ausgabe:
5
22
Möchtest du alle Elemente eines Arrays ausgeben, kannst du hierfür auch ganz einfach eine for-Schleife verwenden:
for(int i=0; i‹arr.length; i++) {
System.out.println(arr[i]);
}
Mit dieser Schleife gibst du alle Einträge des Arrays der Reihe nach auf dem Bildschirm aus.
Die Ausgabe ist:
65
5
78
22
Java Sort Array
Du hast in Java auch die Möglichkeit ein Array sortieren zu lassen. Zum Beispiel wenn du Zahlen in aufsteigender Reihenfolge ausgeben möchtest, dann kannst du zuvor einfach das Array mit der Methode sort()
sortieren.
Bei Arrays.sort()
handelt es sich um eine Methode der Klasse java.util.Arrays
.
Für unser Beispiel lässt sich die Sortierung wie folgt umsetzen:
import java.util.Arrays;
public class JavaSortArray {
public static void main(String[] args){
int[] arr = {65, 5, 78, 22};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
}
Die Ausgabe ist:
[5, 22, 65, 78]
Java Array Length
Des Weiteren gibt es die Möglichkeit, die Array Length auszugeben. Die Länge eines Arrays kannst du dabei mit arrayName.length
ermitteln:
public class JavaArrayLength {
public static void main (String[] args)
{
int[] arr = new int[4];
System.out.println(arr.length);
}
}
Ausgabe:
4
Mehrdimensionale Arrays Java
Du kannst in Java auch mehrdimensionale Arrays erzeugen.
In der Praxis verwendet man häufig zweidimensionale Arrays, aber auch höherdimensionale Arrays kommen zum Einsatz.
In dem folgenden Programm siehst du ein zweidimensionales Array in Java.
class MehrdimensionaleArraysJava {
public static void main(String[] args) {
// Deklaration und Initialisierung des zweidimensionalen Arrays
String[][] namen = {
{"Frau ", "Herr "},
{"Bauer", "Meier", "Schmidt"}
};
// Zugriff auf Frau Schmidt
System.out.println(namen[0][0] + namen[1][2]);
// Zugriff auf Herr Bauer
System.out.println(namen[0][1] + namen[1][0]);
}
}
Die Ausgabe ist:
Frau Schmidt
Herr Bauer
-
string[][] namen = { }:
Es wird ein Array des DatentypsString
deklariert. Wie in einem Koordinatensystem benötigst du innerhalb eines zweidimensionalen Arrays zwei Indexpositionen, um die genaue Position des Wertes zu bestimmen. Deshalb werden die eckigen Klammern doppelt benötigt. Der Arrayname istnamen
. Innerhalb der geschweiften Klammern erfolgt dann die zweidimensionale Initialisierung. -
{"Frau", "Herr"}:
Im oberen Programm ist es in dem zweidimensionalen Arraynamen
das erste Array mit der Länge 2. -
{"Bauer", "Meier", "Schmidt"}:
Zweites Array mit der Länge 3. -
namen[i][j]:
Durchnamen[i][j]
wird auf die Werte des Arrays zugegriffen. Der erste Index beschreibt dabei das i-te Array und der zweite Index den j-ten Eintrag im i-ten Array. Dafür gilt das folgende Schema:
Index 0 (erster Wert) | Index 1 (erster Wert) | |
Index 0 (zweiter Wert) | Frau ([0][0]) | Bauer ([1][0]) |
Index 1 (zweiter Wert) | Herr ([0][1]) | Meier ([1][1]) |
Index 2 (zweiter Wert) | Schmidt ([1][2]) |
Betrachten wir beispielsweise namen[0][0] + namen[1][2]
: Hier wird zuerst durch den ersten und zweiten Index 0 der Wert „Frau“ bestimmt. Im nächsten Schritt wird durch den ersten Index 1 auf das zweite Array zugegriffen und durch den zweiten Index 2 die dritte Position im zweiten Array ausgewählt – „Schmidt“.