ArrayList

**This is an old revision of the document!**

REVEAL

Arrays

Arrays sind eine Sammlung von Elementen desselben Datentyps. \ Sie bieten eine Möglichkeit, mehrere Werte desselben Typs zu speichern und zu verwalten.

Nicht so gut: Arrays haben eine feste Größe, d.h., bereits bei der Deklaration wird festgelegt, wie viele Elemente das Array beeinhaltet.

Arrays können auf unterschiedliche Weise deklariert und Initialisiert werden.

Deklaration und gleichzeitige Initialisierung

 // Deklaration und Initialisierung mit Werten int[] zahlen = {1, 2, 3, 4, 5};  

Deklaration und spätere Initialisierung

 String[] namen = new String[3]; // Initialisierung mit Größe namen[0] = "Max"; namen[1] = "Lena"; namen[2] = "Paul";

Zugriff auf die Elemente

<notes> Der Zugriff auf Elemente in einem Java-Array erfolgt über den Index.\ Der Index ist eine ganze Zahl, die die Position des Elements im Array angibt. \ Der Index beginnt bei 0 für das erste Element und erhöht sich um 1 für jedes weitere Element. </notes>

 int[] zahlen = {1, 2, 3, 4, 5};
 
// Zugriff auf das erste Element (Index 0): int erstesElement = zahlen[0]; // erstesElement = 1
 
// Zugriff auf das dritte Element (Index 2): int drittesElement = zahlen[2]; // drittesElement = 3
 
// Zugriff auf das letzte Element (Index 4): int letztesElement = zahlen[4]; // letztesElement = 5

Eine ArrayList ist eine dynamische Datenstruktur, die es ermöglicht, eine Liste von Elementen zu speichern. \ Im Gegensatz zu Arrays kann die Größe einer ArrayList während der Laufzeit geändert werden.

Dynamische Größe

Die Größe einer ArrayList kann dynamisch wachsen und schrumpfen, während ein Array eine feste Größe hat, die bei der Erstellung festgelegt wird.

Einfaches Hinzufügen und Entfernen

Elemente können einfach hinzugefügt und entfernt werden, ohne dass man sich um die Größe der Liste kümmern muss.

Beispiel ''class Fruits'':

Wir importieren die ArrayList-Klasse.

 import java.util.ArrayList; 

Wir erstellen eine neue ArrayList namens liste.

 // Erstellen einer ArrayList ArrayList<String> liste = new ArrayList<String>();
 
// Bauanleitung Allgemein   ArrayList<Type> liste = new ArrayList<Type>(); 

Wir fügen einige Elemente (Früchte) zur Liste hinzu.

 // Hinzufügen von Elementen liste.add("Apfel"); liste.add("Banane"); liste.add("Orange"); 

==== Wir greifen auf das erste Element der Liste zu. ====

 // Zugriff auf Elemente System.out.println("Erstes Element: " + liste.get(0)); // Apfel 

Wir modifizieren Elemente der Liste

 // Modifizierung von Elementen liste.set(0,"Granatapfel") 

==== Wir entfernen ein Element aus der Liste. ====

 // Entfernen eines Elements über den Index liste.remove(0); // Entfernen eines Elements über den Namen. Entfernt nur das erste Vorkommen. liste.remove("Banane"); 

Wir geben die Liste auf einmal aus

 System.out.println(liste); 

Wir iterieren über alle Elemente in der Liste und geben sie aus.

 // Iterieren über die Liste mit for-loop System.out.println("Alle Elemente:"); for (int i = 0; i < liste.size(); i++ { System.out.println(liste.get(i)); }
 
// Iterieren über die Liste mit for-each System.out.println("Alle Elemente:"); for (String frucht : liste) { System.out.println(frucht); } 

Wir geben die Größe der Liste aus.

 // Größe der Liste System.out.println("Größe der Liste: " + liste.size()); 

Code

Fruits.java

 import java.util.ArrayList;
 
public class Fruits{ public static void main(String[] args) { // Erstellen einer ArrayList ArrayList<String> liste = new ArrayList<String>();
 
 
      // Hinzufügen von Elementen
      liste.add("Apfel");
      liste.add("Banane");
      liste.add("Orange");
 
       // Modifizierung von Elementen
      liste.set(0,"Granatapfel");
 
      // Zugriff auf Elemente
      System.out.println("Erstes Element: " + liste.get(0)); 
 
      // Entfernen eines Elements
      liste.remove("Banane");
 
      // Ausgabe der Liste im Gesamten
      System.out.println(liste);
 
      // Iterieren über die Liste
      System.out.println("Alle Elemente:");
      for (String frucht : liste) {
          System.out.println(frucht);
      }
 
      // Größe der Liste
      System.out.println("Größe der Liste: " + liste.size());
  }
 
}