8. Arrays
8.1 Eindimensionale Arrays
Eindimensionale Arrays sind wie Listen. In diesen kann man Werte speichern, die alle einen vorbestimmten Datentyp haben. Zudem muss man beim Erstellen eines Arrays, die Länge der Liste angeben. Diese bestimmte Länge ist sozusagen der Speicher des Arrays, welchen man nach dem Deklarieren nicht mehr verändern kann.8.1.1 Eindimensionales Array erstellen
Beim Erstellen eines eindimensionalen Arrays hast du die Möglichkeit, für das Array nur den Speicher festzulegen und ohne eine Zuweisung von Werten oder du kannst beim Erstellen auch direkt Werte speichern.Schauen wir uns mal an, wie man ein Array des Datentyps Integer erstellt, ohne gleichzeitig Werte zu speichern:
int[] meinArray = new int[3];
Als
erstes musst du beim Erzeugen des Arrays, den Datentyp festlegen, den später
jeder Wert in der Liste hat. In diesem Fall haben wir den Datentyp Integer.
Anschliessend kommen die zwei eckigen Klammern, die für ein Array stehen, und
nach ihnen kommt der Arrayname. Den kannst du so nennen, wie du willst. In den
eckigen Klammern am Ende kommt die Länge des Arrays.
8.1.2 Werte hinzufügen
Jetzt haben wir einen Array der Länge 3 vom Datentyp Integer erstellt, jedoch haben wir noch keine Werte darin. Folgend siehst du, wie man einen Wert in das Array meinArray speichert:meinArray[0] = 10;
Du
musst einfach den Namen des Arrays eingeben anschliessend in eckigen Klammern
angeben, in welche Stelle des Arrays dein Wert gespeichert werden soll und zum
Schluss setzt du mit dem Gleichheitszeichen den Wert. In der Programmierung
fängt man beim Zählen immer bei 0 an und nicht wie wir es sonst kennen mit der
Eins. Hier haben wir also in die erste Stelle des int-Arrays den Wert 10
gespeichert. Merke dir, dass man die Stellen als Index bezeichnet.
8.1.3 Werte ausgeben
Damit
unser Array komplett gefüllt wird, habe ich in den Index 1 den Wert 20 und in
den Index 2 den Wert 30 gespeichert. Willst du nun auf einen bestimmten Wert
des Arrays zugreifen, musst du wissen an welcher Stelle sich der Wert befindet.
Folgend siehst du, wie man auf den Wert 20 zugreift:
System.out.println(meinArray[1]);
Im nachfolgenden Beispiel siehst du, wie man alle Werte eines Arrays mit Hilfe der for-Schleife ausgibt. Bei der for-Schleife haben wir eine Variable i mit dem Wert 0 erstellt. Dieser Wert steht in diesem Fall für den Index. Nach der Initialisierung folgt die Bedingung. Diese hat zur Folge, dass unsere for-Schleife nur so oft durchlaufen wird, wie Stellen im Array vorhanden sind. Dazu haben wir die .length-Methode verwendet, welche dir die Länge des Arrays als int-Zahl zurückgibt. Damit nach jedem Durchgang der Wert des nächsten Indexes ausgegeben wird, müssen wir nach der Bedingung die wiederholende Erhöhung des Wertes unserer Variable i auf 1 setzen. In der for-Schleife wird dann ganz einfach der Wert beim aktuellen Index i auf der Konsole ausgegeben.
for(int i = 0; i < meinArray.length(); i++){ System.out.println(meinArray[i]); }
8.2 Mehrdimensionale Arrays
Mehrdimensionale
Arrays sind ineinander geschachtelte Arrays. Und wie der Name schon sagt, besteht sie aus 2 oder mehreren Dimensionen. Das
Erzeugen ist dem vom eindimensionalen Array ähnlich. Wir werden uns hier mit einem zweidimensionalen Array beschäftigen.
8.2.1 Mehrdimensionales Array erstellen
Beim Erstellen von mehrdimensionalen Arrays musst du nun
logischerweise nicht nur eine Klammer angeben, sondern mehrere. Folgend siehst du
wie man ein zweidimensionales Array erstellt:
int[][] meinArray = new int [4][5];
Auch hier musst du wie beim eindimensionalen Array den Datentyp angeben, welchen dann alle Werte in dem Array haben. Zweidimensionale Arrays sind wie Tabellen. Das obige Array ist wie eine Tabelle mit 4 Zeilen und 5 Spalten.
8.2.2 Werte hinzufügen
Beim Hinzufügen von Werten musst du beachten, dass bei einem
zweidimensionalen Array jeder Wert einen x- und einen y-Index hat:
meinArray[2][3] = 15;
8.2.3 Auf Werte zugreifen
Genauso wie bei den eindimensionalen Arrays kannst du auch
bei den mehrdimensionalen die Werte abfragen. Am folgenden Beispiel siehst du,
wie du den vorher hinzugefügten Wert auf der Konsole ausgeben kannst:
System.out.println(meinArray[2][3]);