Ein Java-Array ist eine Liste von beliebigen Datenobjekten des gleichen Typs. Die Arraygröße (Anzahl der Elemente) wird zur Laufzeit festgelegt und kann später nicht mehr verändert werden. Es läßt sich also nur eine vordefinierte Anzahl von Daten speichern. Die einzelnen Elemente werden über ihren Index angesprochen. Beim Zugriff muss das gesamte Array durchsucht werden. Die Speicherung ist schnell, der Zugriff etwas langsam.

Beispiele für Arrays

  public class Test {
    public static void main(String[] args) {
      int[] a;        // Array anlegen ohne Anzahl der Elemente
      a = new int[5]; // Initialisierung des Arrays mit 5 Elementen
      boolean[] b = new boolean[15]; // Deklaration mit 15 Elementen
      char[] c = {'a','b','c'};      // Deklaration mit Werten => Arraygröße = 3 Elemente
      a[0]=11;
      a[1]=22;
      b[0]=true;
      b[1]=false;
      System.out.println(a[0]); // Ausgabe: 11
      System.out.println(a[1]); // Ausgabe: 22
      System.out.println(b[1]); // Ausgabe: false
      System.out.println(c[2]); // Ausgabe: c
      System.out.println("c hat "+c.length+" Elemente"); // Ausgabe: c hat 3 Elemente
    }
  }

Array sortieren

  public class Test {
    public static void main(String[] args) {
      String[] Texte = new String[2];
      Texte[0] = "b";
      Texte[1] = "a";
      System.out.println(Texte[0]+Texte[1]); // Ausgabe: ba
      Arrays.sort(Texte);
      System.out.println(Texte[0]+Texte[1]); // Ausgabe: ab
    }
  }

Array an Methode übergeben

  public class Test {
    public static void main(String[] args) {
      int[] myArray = {2,4,6};
      ausgeben(myArray);
    }

    static void ausgeben(int[] werte){
      for(int i=0;i<werte.length;i++){
        System.out.println("Wert "+i+": "+werte[i]);
      }
    }
  }
// Ausgabe: Wert 0: 2 // Ausgabe: Wert 1: 4 // Ausgabe: Wert 2: 6

Zweidimensionales Array

  public class Test {
    public static void main(String[] args) {
      int[][] array = new int[2][2];
      array[0][0] = 10;
      array[0][1] = 20;
      array[1][0] = 30;
      array[1][1] = 40;
      System.out.println(array[1][1]); // Ausgabe: 40
    }
  }

Mehrdimensionales Array

  public class Test {
    public static void main(String[] args) {
      int iArray[][] = {
        {0},
        {1,2},
        {3,4,5}
      };
      for(int i=0;i<iArray.length;i++) {
        for (int j=0;j<iArray[i].length;j++) {
          System.out.print(iArray[i][j]);
        }
        System.out.println();
      }
    }
  }

Beispiel mit einer Autoinstanz und ein paar Arrayspielereien

  public class Auto {
    private String typ;
    private String farbe;
    public Auto(String t, String f) {
      typ=t;
      farbe=f;
    }
    public void showAuto() {
      System.out.println("Typ: "+typ+ ", Farbe: "+farbe);
    }
  }

  public class Test {
    public static void main(String[] args) {
      Auto a1=new Auto("VW","rot");    // Instanz anlegen
      Auto a2=new Auto("Opel","blau");
      Auto a3=a2;                      // Instanz kopieren
      Auto[] autos=new Auto[10];       // Array anlegen
      autos[0]=a1;                     // Instanz in Array
      autos[1]=a2;
      autos[2]=a3;
      for (int i=0;i<autos.length;i++) {
        if (autos[i]==null) {}
        else {                         // Wenn kein leeres Arrayelement
          autos[i].showAuto();         // Instanz anzeigen
      }
    }
  }
}