Array: Unterschied zwischen den Versionen
Zeile 133: | Zeile 133: | ||
} | } | ||
</code> | </code> | ||
==Ein Array mit einer <code>for</code>-Schleife initialisieren== | ==Ein Array mit einer <code>for</code>-Schleife initialisieren== | ||
Zeile 146: | Zeile 147: | ||
} | } | ||
</code> | </code> | ||
==Ein Array sortieren== | |||
Dafür bietet sich als einfachstes Verfahren '''[[Bubblesort]]''' an. |
Version vom 3. März 2013, 21:44 Uhr
Arrays dienen zur Speicherung von vielen gleichartigen Elementen (z.B. Zahlen) oder Objekten (z.B. vom Typ Person
).
Veranschaulichung
Hier ist ein Array mit 5 Namen (in Java: String
) dargestellt:
Index | 0 | 1 | 2 | 3 | 4 |
---|---|---|---|---|---|
Wert | "Meier" | "Schmidt" | "Müller" | "Franzen" | "Altenburg" |
Zu beachten ist:
- Arrays fangen grundsätzlich mit dem Index 0 an.
- Der letzte Index ist deswegen eins niedriger als die Länge des Arrays.
Vorteile und Nachteile
- Vorteil: In einem Array kann man jedes einzelne Element über eine Nummer, den sog. Index, direkt ansprechen.
- Nachteil: Man muss direkt zu Anfang die Größe des Arrays festlegen. D.h. man kann nicht nachträglich beliebig viele Elemente hinzufügen.
Arrays in Java
Ein Array deklarieren
Beispiel: Hier werden deklariert:
- ein Array für Strings,
- ein Array für Objekte vom Typ
Person
- ein Array für Integer-Zahlen:
String[] namen;
Person[] personen;
int[] zahlen;
Damit ist noch nicht die Länge des Arrays festgelegt und es ist noch nichts eingetragen! Das Array hat so den Wert null
.
Ein Array als leeres Array initialisieren
'Beispiel: Hier werden als leeres Array initialisiert:
- Ein Array mit 5 Plätzen für Strings,
- ein Array mit 10 Plätzen für Objekte vom Typ
Person
- ein Array mit 200 Plätzen für Integer-Zahlen:
String[] namen = new String[5];
Person[] personen = new Person[10];
int[] zahlen = new int[200];
- In den Arrays
namen
undpersonen
sind damit 5 (bzw. 10) leere Plätze entstanden - dort steht als Wert jeweilsnull
. - Im Array
zahlen
dagegen ist 200mal die Zahl 0 eingetragen.
Ein Array mit vorgegebenen Werten initalisieren
Oft weiß man schon bei der Deklaration eines Arrays, welche Werte es haben soll. Das lässt sich in Java wie folgt realisieren.
Beispiel: Die folgende Tabelle soll als Array namen
initialisiert werden:
Index | 0 | 1 | 2 | 3 | 4 |
---|---|---|---|---|---|
Wert | "Meier" | "Schmidt" | "Müller" | "Franzen" | "Altenburg" |
String[] namen = {"Meier", "Schmidt", "Müller", "Franzen", "Altenburg"};
Die Länge eines Arrays bestimmen
Mit dem Schlüsselwort length
kann man bestimmen, wie viele Einträge ein Array hat.
Beispiel: Das Array namen
soll folgenden Inhalt haben:
Index | 0 | 1 | 2 | 3 | 4 |
---|---|---|---|---|---|
Wert | "Meier" | "Schmidt" | "Müller" | "Franzen" | "Altenburg" |
Dieses Array hat 5 Einträge (von Index 0 bis Index 4).
int anzahl = namen.length;
// anzahl hat jetzt den Wert 5.
Einzelne Elemente in einem Array ansprechen
Beispiel:
Index | 0 | 1 | 2 | 3 | 4 |
---|---|---|---|---|---|
Wert | "Meier" | "Schmidt" | "Müller" | "Franzen" | "Altenburg" |
Der folgende Code...
- liest den Wert bei Index 3 in die Variable
derName
aus, - trägt am Index 2 den Wert "Marten" ein.
String derName = namen[3];
// derName enthaelt jetzt den Wert "Franzen"
namen[2] = "Marten"
D.h. das Array sieht jetzt so aus:
Index | 0 | 1 | 2 | 3 | 4 |
---|---|---|---|---|---|
Wert | "Meier" | "Schmidt" | "Marten" | "Franzen" | "Altenburg" |
Ein Array mit einer for
-Schleife durchlaufen
Um ein Array von Anfang bis Ende zu durchlaufen, nimmt man eine for
-Schleife.
Beispiel: Der folgende Code gibt alle Werte des Array namen
an die Konsole aus.
String[] namen = {"Meier", "Schmidt", "Müller", "Franzen", "Altenburg"};
for(int i=0; i<namen.length; i++){
System.out.println(namen[i]);
}
Ein Array mit einer for
-Schleife initialisieren
Man kann die Werte eines Arrays auch mit einer for
-Schleife initialisieren.
Beispiel:
Der folgende Code initalisiert die Werte des Arrays dreierReihe
mit den Zahlen 0, 3, 6, 9, ..., 3000
int[]dreierReihe = new int[1001];
for(int i=0; i<dreierReihe.length; i++){
dreierReihe[i] = i*3;
}
Ein Array sortieren
Dafür bietet sich als einfachstes Verfahren Bubblesort an.