Java List

Regeln

  • Eine Java List ist eine dynamische Datenstruktur, die ihre Größe während der Laufzeit anpassen kann.
  • Im Gegensatz zu Java Array können Elemente in einer Java List unterschiedlichen Datentypen angehören.
  • Unterschiede zu Java Array:
  • Größe: Java Array hat eine feste Größe, während Java List dynamisch ist und ihre Größe anpassen kann.
  • Datentypen: Alle Elemente in einem Java Array müssen denselben Datentyp haben, während eine Java List unterschiedliche Datentypen speichern kann.
  • Methoden: Java Array hat keine eingebauten Methoden zur Bearbeitung von Elementen, während Java List viele nützliche Methoden wie add(), remove(), und size() bietet.

Syntax

List<datatype> listName;
List-Deklaration und Initialisierung
List<datatype> listName = new ArrayList<>();

Somit wird die List deklariert und initialisiert. ABER es wird kein Wert zugewiesen.

Bsp

import java.util.*;

public class BeispielList {
    public static void main(String[] args) {
        List<String> namen = new ArrayList<>();
        
        namen.add("Anna");
        namen.add("Bob");
        namen.add("Charlie");

        // Ausgabe der Liste
        System.out.println("Liste der Namen: " + namen);
    }
}

Elemente bearbeiten

Stell dir vor, du hast eine Liste mit Elementen, die du bearbeiten möchtest.

Elementen vertauschen

Elemente vertauschen
import java.util.ArrayList;
import java.util.Collections;

public class ListElementVertauschen {
    public static void main(String[] args) {
        List<Integer> zahlen = new ArrayList<>();
        
        zahlen.add(10);
        zahlen.add(20);
        zahlen.add(30);
        zahlen.add(40);
        zahlen.add(50);

        // Ausgabe der ursprünglichen Liste
        System.out.println("Ursprüngliche Liste:");
        ausgabeListe(zahlen);

        // Elemente vertauschen: Element an Index 1 (20) und Index 3 (40) vertauschen
        Collections.swap(zahlen, 1, 3);

        // Ausgabe nach dem Vertauschen der Elemente
        System.out.println("\nNach dem Vertauschen der Elemente:");
        ausgabeListe(zahlen);
    }

    // Hilfsmethode zur Ausgabe der Liste
    public static void ausgabeListe(List<Integer> list) {
        for (int zahl : list) {
            System.out.print(zahl + " ");
        }
        System.out.println();
    }
}

Neues Wert für Element einsetzen

Neues Wert für Element einsetzen
import java.util.ArrayList;

public class ListWertEinsetzen {
    public static void main(String[] args) {
        List<Integer> zahlen = new ArrayList<>();
        
        zahlen.add(10);
        zahlen.add(20);
        zahlen.add(30);
        zahlen.add(40);
        zahlen.add(50);

        // Ausgabe der ursprünglichen Liste
        System.out.println("Ursprüngliche Liste:");
        ausgabeListe(zahlen);

        // Neues Wert für das Element an Index 2 (d.h. 30 ersetzen)
        zahlen.set(2, 99); // 30 wird durch 99 ersetzt

        // Ausgabe nach dem Ändern eines Wertes
        System.out.println("\nNach dem Ändern eines Wertes:");
        ausgabeListe(zahlen);
    }

    // Hilfsmethode zur Ausgabe der Liste
    public static void ausgabeListe(List<Integer> list) {
        for (int zahl : list) {
            System.out.print(zahl + " ");
        }
        System.out.println();
    }
}

Element ergänzen

Du kannst Elemente auf verschiedene Arten hinzufügen.

Element ergänzen
import java.util.ArrayList;

public class ListElementHinzufuegen {
    public static void main(String[] args) {
        List<Integer> zahlen = new ArrayList<>();
        
        zahlen.add(10);
        zahlen.add(20);
        zahlen.add(30);

        // Neues Element, das hinzugefügt werden soll
        int neuesElement = 40;

        // Hinzufügen des neuen Elements
        zahlen.add(neuesElement);

        // Ausgabe nach dem Hinzufügen des Elements
        System.out.println("Liste nach dem Hinzufügen: " + zahlen);
    }
}

Element löschen

Element löschen
import java.util.ArrayList;

public class ListElementLoeschen {
    public static void main(String[] args) {
        List<Integer> zahlen = new ArrayList<>();
        
        zahlen.add(10);
        zahlen.add(20);
        zahlen.add(30);
        zahlen.add(40);
        zahlen.add(50);

        // Ausgabe der ursprünglichen Liste
        System.out.println("Ursprüngliche Liste:");
        ausgabeListe(zahlen);

        // Element, das entfernt werden soll (z.B. 30)
        Integer elementZuLoeschen = 30;

        // Entfernen des Elements aus der Liste
        zahlen.remove(elementZuLoeschen); // Entfernt die erste Instanz des Wertes 30

        // Ausgabe nach dem Entfernen des Elements
        System.out.println("\nNach dem Entfernen des Elements " + elementZuLoeschen + ":");
        ausgabeListe(zahlen);
    }

    // Hilfsmethode zur Ausgabe der Liste
    public static void ausgabeListe(List<Integer> list) {
        for (int zahl : list) {
            System.out.print(zahl + " ");
        }
        System.out.println();
    }
}

Fazit