Array: Unterschied zwischen den Versionen

Aus SibiWiki
Zur Navigation springen Zur Suche springen
Zeile 137: Zeile 137:


==Ein Array mit einer <code>for</code>-Schleife initialisieren==
==Ein Array mit einer <code>for</code>-Schleife initialisieren==
Man kann die Werte eines Arrays auch mit einer <code>for</code>-Schleife initialisieren.
Man kann die Werte eines Arrays auch mit einer [[Schleife (Informatik)#for-Schleife|<code>for</code>-Schleife]] initialisieren.


'''Beispiel:'''
'''Beispiel:'''
Zeile 148: Zeile 148:
   }
   }
</code>
</code>


==Ein Array sortieren==
==Ein Array sortieren==
Dafür bietet sich als einfachstes Verfahren '''[[Bubblesort]]''' an.
Dafür bietet sich als einfachstes Verfahren '''[[Bubblesort]]''' an.

Version vom 10. April 2013, 05:37 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 und personen sind damit 5 (bzw. 10) leere Plätze entstanden - dort steht als Wert jeweils null.
  • 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.