Array: Unterschied zwischen den Versionen

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


''Zu beachten ist:''
''Zu beachten ist:''
''* Arrays fangen grundsätzlich mit dem '''Index 0''' an.''
* ''Arrays fangen grundsätzlich mit dem '''Index 0''' an.''
''* Der letzte Index ist deswegen eins niedriger als die Länge des Arrays.''
* ''Der letzte Index ist deswegen eins niedriger als die Länge des Arrays.''


=Vorteile und Nachteile =
=Vorteile und Nachteile =
# '''Vorteil:''' In einem Array kann man jedes einzelne Element über eine Nummer, den sog. '''Index''', direkt ansprechen.
* '''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.
* '''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=
=Arrays in Java=
== Ein Array deklarieren==
== Ein Array deklarieren==
'''Beispiel:''' Ein Array für Strings, ein Array für Objekte vom Typ <code>Person</code> und ein Array für Integer-Zahlen:
'''Beispiel:''' Hier werden '''deklariert''':
* ein Array für Strings,  
* ein Array für Objekte vom Typ <code>Person</code>
* ein Array für Integer-Zahlen:


<code>
<code>
Zeile 34: Zeile 39:


''Damit ist noch nicht die Länge des Arrays festgelegt und es ist noch nichts eingetragen! Das Array hat so den Wert <code>null</code>''.
''Damit ist noch nicht die Länge des Arrays festgelegt und es ist noch nichts eingetragen! Das Array hat so den Wert <code>null</code>''.


==Ein Array als leeres Array initialisieren==
==Ein Array als leeres Array initialisieren==
'''Beispiel:''' Ein Array mit 5 Plätzen für Strings, ein Array mit 10 Plätzen für Objekte vom Typ <code>Person</code> und ein Array mit 200 Plätzen für Integer-Zahlen:
'''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 <code>Person</code>  
* ein Array mit 200 Plätzen für Integer-Zahlen:


<code>
<code>
Zeile 44: Zeile 53:
</code>
</code>
   
   
''in den Arrays <code>namen</code> und <code>personen</code> sind damit 5 (bzw. 10) '''leere''' Plätze entstanden - dort steht als Wert jeweils <code>null</code>. ''
* ''In den Arrays <code>namen</code> und <code>personen</code> sind damit 5 (bzw. 10) '''leere''' Plätze entstanden - dort steht als Wert jeweils <code>null</code>. ''
* ''Im Array <code>zahlen</code> 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 <code>namen</code> '''initialisiert''' werden:
{| class="wikitable"
|-
!| Index ||0||1||2||3||4
 
|-
|<b>Wert</b>|| "Meier" || "Schmidt" || "Müller" || "Franzen" || "Altenburg"
|}


''Im Array <code>zahlen</code> dagegen ist 200mal die Zahl 0 eingetragen.''
 
<code>
  String[] namen = {"Meier", "Schmidt", "Müller", "Franzen", "Altenburg"};
</code>
 
 
==Einzelne Elemente in einem Array ansprechen==
'''Beispiel:'''  
{| class="wikitable"
|-
!| Index ||0||1||2||3||4
 
|-
|<b>Wert</b>|| "Meier" || "Schmidt" || "Müller" || "Franzen" || "Altenburg"
|}
 
Der folgende Code...
* liest den Wert bei Index 3 in die Variable <code>derName</code> aus,
* trägt am Index 2 den Wert "Marten" ein.
 
<code>
  String derName = namen[3];
  // derName enthaelt jetzt den Wert "Franzen"
  namen[2] = "Marten"
</code>
 
D.h. das Array sieht jetzt so aus:
{| class="wikitable"
|-
!| Index ||0||1||2||3||4
 
|-
|<b>Wert</b>|| "Meier" || "Schmidt" || <b>"Marten"</b> || "Franzen" || "Altenburg"
|}
 
==Ein Array mit einer <code>for</code>-Schleife durchlaufen==
Um ein Array von Anfang bis Ende zu durchlaufen, nimmt man eine <code>for</code>-Schleife.
 
Beispiel: Der folgende Code gibt alle Werte des Array <code>namen</code> an die Konsole aus.
 
<code>
  String[] namen = {"Meier", "Schmidt", "Müller", "Franzen", "Altenburg"};
  for(int i=0; i<namen.length; i++){
      System.out.println(namen[i]);
  }
</code>
 
==Ein Array mit einer <code>for</code>-Schleife initialisieren==
Man kann die Werte eines Arrays auch mit einer <code>for</code>-Schleife initialisieren.
 
'''Beispiel:'''
Der folgende Code initalisiert die Werte des Arrays <code>dreierReihe</code> mit den Zahlen 0, 3, 6, 9, ..., 3000
 
<code>
  int[]dreierReihe = new int[1001];
  for(int i=0; i<dreierReihe.length; i++){
      dreierReihe[i] = i*3;
  }
</code>

Version vom 3. März 2013, 21:38 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"};


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;
  }