Array

Ein Array (auch Feld, Container) wird in Java dafür verwendet, eine größere Anzahl typgleicher Werte zentral in einer Variable zu speichern. In der Mathematik ist dieser Datentyp als Matrix bekannt.


Syntax

Der Umgang mit Arrays unterliegt in Java bestimmten Befehlen, die im folgenden an einem Beispiel erläutert werden sollen.

Klaus hat in einer Tabelle sein Erspartes in Euro über mehrere Jahre notiert.
index Wert
2010 530
2011 670
2012 715
2013 840
2014 910
2015 1020

Er implementiert diese Liste in Java um damit Berechnungen anstellen zu können. Vor dem Erstellen eines Arrays sollte die Dimensionalität (siehe unten: Mehrdimensionale Arrays - in diesem Fall zweidimensional), die Größe (hier 6) und der Eingabetyp (hier Integer) geklärt werden.

Arrays deklarieren

Arrays werden nach folgendem Schema eingeleitet:

Typ[] Name = new Typ[Anzahl];

Auf unser Beispiel bezogen:
int[] TabelleVonKlaus = new int[6];
Arrays initialisieren

Da das erzuegte Array aber noch leer ist, wird es jetzt mit den Werten aus Klaus' Tabelle gefüllt. Dafür gibt es zwei Möglichkeiten:

int[] TabelleVonKlaus = {530,670,715,840,910,1020};
 
oder
 
TabelleVonKlaus[0] = 530;
TabelleVonKlaus[1] = 670;
TabelleVonKlaus[2] = 710;
TabelleVonKlaus[3] = 840;
TabelleVonKlaus[4] = 910;
TabelleVonKlaus[5] = 1020;
Zugriff auf Arrays

Häufig wird verlangt, auf ein bestimmtes Element des Arrays zuzugreifen. Klaus möchte beispielsweise wissen, wie viel Geld er 2013 zurücklegen konnte.

int Differenz2013 = TabelleVonKlaus[3] - TabelleVonKlaus[2];

Operationen mit Arrays

Weitere interessante Operationen mit Arrays:

Gibt die Länge des Arrays als Integer aus (hier 6):

laenge = TabelleVonKlaus.length;

Arrays können auch geklont werden. Bei unserem Beispiel hat Klaus eine Frau, die Heike. Sie gehen mit ihrem geld sehr offen um, weshalb Klaus' Erspartem auch Heikes' Erspartem entspricht.

int[] TabelleVonHeike = TabelleVonKlaus.clone();

Um zu prüfen, ob die Eingaben zweier Arrays gleich sind, lässt sich mit folgender Methode das gesamte Array mit einem anderen vergleichen. Die Ausgabe erfolgt in true oder false.

Arrays.equals (TabelleVonKlaus, TabelleVonHeike);           //in diesem Fall true

Ein Array kann auch mit einer einfachen Funktion mit Werten geflutet werden:

TabelleVonKlaus.fill( int, '0' );        //Alle Felder haben nun den Integerwert '0'.

Weitere Funktionen sind hier oder in der allgemeinen Klassenbibliothek zu finden.


Mehrdimensionale Arrays

Bisher haben wir ja nur mit einer Spalte (einer Dimension) gearbeitet, nun kann man aber mit weiteren Dimensionen arbeiten. Theoretisch könnten unendlich viele Dimensionen generiert werden, die jeweils unterschiedlich lang sein können. Bei Operationen muss daher immer die genaue Position des Feldes wie in einem Koordinatensystem angegeben werden.

    int[][] testarray = new int[2][2];
 
    testarray[0][0] = 10;
    testarray[0][1] = 20;
    testarray[1][0] = 30;
    testarray[1][1] = 40;

Dieses Array sähe dann so aus:

. 0 1
0 10 20
1 30 40

Wissenswertes

Arrays werden - im Gegensatz zu anderen Variablen - im Arbeitsspeicher des Computers gesichert.


Weiterführende Links

http://www.programmersbase.net/Content/Java/Content/Tutorial/Java/Array.htm
http://www.javatutorial.de/Arrays
http://www.java-programmieren.com/arrays-java.php
http://www.informatikzentrale.de/java-arrays.html
http://openbook.rheinwerk-verlag.de/javainsel9/javainsel_03_007.htm

Sofern nicht anders angegeben, steht der Inhalt dieser Seite unter Lizenz Creative Commons Attribution-ShareAlike 3.0 License