Datenstruktur Feld

Aus Informatik
Wechseln zu: Navigation, Suche
Definition: Feld (array)

Ein Feld besteht aus Elementen bzw. Komponenten, die alle den gleichen Datentyp haben. Auf die einzelnen Elemente wird über Indizes zugegriffen.


Im Gegensatz zu anderen Programmiersprachen sind Felder in Java Objekte. Felder werden daher auch wie Objekte behandelt, d. h. der deklarierte Variablenname für ein Feld ist auch eine Referenz auf das Objekt Feld; dieses muss demnach auch vorher erzeugt werden.

Deklaration eines Feldes

Deklariert werden Felder durch Kennzeichnung der Feldvariablen mit dem Klammerpaar [].

Beispiele

 float[] Messreihe     // Feld mit Elementen vom Typ float
 int[] Zahlen          // Feld mit Integer-Zahlen
 String[] Texte        // Feld mit Elementen vom Typ String

Erzeugen von Feldobjekten

Wurde ein Feld durch eine Variable deklariert, kann dieses nun (wie jedes andere Java-Objekt auch) erzeugt werden.

Beispiele

 Messreihe = new float[100]     // Feld aus 100 Elementen
 Zahlen = new int[15]           // Feld aus 15 Elementen
 Texte = new String[2]          // Feld aus 2 Elementen vom Typ String

Zugriff auf die Feldelemente

Der Zugriff auf die einzelnen Elemente des Feldes geschieht über seinen ganzzahligen Index, der von 0 bis n-1 läuft, wobei n die Länge des Feldes angibt. Im oben definierten Feld Zahlen würde das erste Element mit Zahlen[0] und das letzte Element mit Zahlen[14] angesprochen.

Felder werden (normalerweise) in einer Zählschleife initialisiert. Sollen z. B. alle Werte der oben vereinbarten Messreihe einen zufälligen Wert (kleiner als 50) erhalten, könnte die Schleife folgendermaßen aussehen:

 for (int i=0; i<100; i++) {
   Messreihe[i] = Math.round(50*Math.random());
 }

Möglich sind auch folgende Ausdrücke:

 Messreihe[8] = Messreihe[18] + 1.7;
 System.out.println(Messreihe[12]);

Kapazität eines Feldes

Die Kapazität eines Feldes, d. h. die Anzahl seiner Elemente, kann mit der Methode length ermittelt werden.

 System.out.println("Maximales Fassungsvermögen: " + Messreihe.length);
 
 for (int i=0; i<Messreihe.length; i++) {
   Messreihe[i] = Math.round(50*Math.random());
 }

Weitere Informationen