Wie man eine neue Liste in Java erstellt

Hassan Saeed 12 Oktober 2023
  1. Erstellen einer leeren neuen Liste in Java
  2. Erstellen einer nicht leeren neuen Liste in Java
  3. Erstellen einer nicht-leeren Liste fester Größe in Java
Wie man eine neue Liste in Java erstellt

Dieses Tutorial behandelt Methoden zur Erstellung verschiedener Arten von Listen in Java.

List in Java ist eine Schnittstelle und wird durch ArrayList, LinkedList, Vector und Stack implementiert. Sie stellt eine geordnete Sammlung von Objekten zur Verfügung. Der Benutzer hat genaue Kontrolle darüber, wo in der Liste jedes Element eingefügt wird. Der Benutzer kann auf Elemente über ihren ganzzahligen Index (Position in der Liste) zugreifen und nach Elementen in der Liste suchen. Darüber hinaus können in Listen auch doppelte Elemente gespeichert werden.

Erstellen einer leeren neuen Liste in Java

Da List eine Schnittstelle ist, können wir ein List-Objekt nicht direkt erstellen. Wir können jedoch Objekte der Klassen erzeugen, die die Schnittstelle List implementieren: ArrayList, LinkedList, Vector und Stack. Hier ist ein einfacher Weg:

List myArrayList = new ArrayList();
List myLinkedList = new LinkedList();
List myVector = new Vector();
List myStack = new Stack();

Diese Arten von Listen haben keinen bestimmten Datentyp und können jede Art von Objekten und Werten darin enthalten. Lassen Sie uns versuchen, diese in Java zu erstellen und einige Werte hinzuzufügen.

import java.util.*;

public class myClass {
  public static void main(String args[]) {
    // ArrayList
    List myArrayList = new ArrayList();
    myArrayList.add(1);
    myArrayList.add(2);
    myArrayList.add("three");
    System.out.println("ArrayList: " + myArrayList);

    // LinkedList
    List myLinkedList = new LinkedList();
    myLinkedList.add(4);
    myLinkedList.add(5);
    myLinkedList.add("six");
    System.out.println("LinkedList: " + myLinkedList);

    // Stack
    List myStack = new Stack();
    myStack.add(7);
    myStack.add(8);
    myStack.add("nine");
    System.out.println("Stack: " + myStack);
  }
}

Der obige Code wird ausgegeben:

ArrayList: [1, 2, three]
LinkedList: [4, 5, six]
Stack: [7, 8, nine]

Wir können sehen, dass wir int- und String-Werte ohne Fehler zu den Listen hinzugefügt haben.

Es ist möglich, den Datentyp so zu spezifizieren, dass nur Werte dieses bestimmten Typs gespeichert werden können. Versuchen wir ein anderes Beispiel.

import java.util.*;

public class myClass {
  public static void main(String args[]) {
    // ArrayList
    List<Integer> myArrayList = new ArrayList<>();
    myArrayList.add(1);
    myArrayList.add(2);
    myArrayList.add("three");
    System.out.println("ArrayList: " + myArrayList);
  }
}

Der obige Code führt zu folgendem Fehler.

> /myClass.java:9: error: incompatible types: String cannot be converted to Integer
>         myArrayList.add("three");

Der Grund dafür ist, daß wir bei der Erstellung des ArrayList-Objekts den Datentyp Integer angegeben haben; daher akzeptiert es keinen anderen Datentyp.

Erstellen einer nicht leeren neuen Liste in Java

Wir haben besprochen, wie man leere Listenobjekte erstellt und dann Objekte zur Liste hinzufügt. Sehen wir uns nun eine andere Möglichkeit an, eine Liste mit Objekten darin zu erstellen.

import java.util.*;

public class myClass {
  public static void main(String args[]) {
    List<String> list = new ArrayList<String>() {
      {
        add("a");
        add("b");
      }
    };
    System.out.println("ArrayList: " + list);
  }
}

Der obige Code wird ausgegeben:

ArrayList: [a, b]

Erstellen einer nicht-leeren Liste fester Größe in Java

Wir können auch eine nicht leere Liste mit fester Größe erstellen. Wenn dies der Fall ist, werden Operationen wie add, remove nicht unterstützt.

import java.util.*;

public class myClass {
  public static void main(String args[]) {
    List<Integer> list = Arrays.asList(1, 2);
    System.out.println("ArrayList: " + list);
  }
}

Der obige Code wird ausgegeben:

ArrayList: [1, 2]

Mal sehen, was passiert, wenn wir versuchen, ein weiteres Element zu dieser Liste hinzuzufügen.

import java.util.*;

public class myClass {
  public static void main(String args[]) {
    List<Integer> list = Arrays.asList(1, 2);
    list.add(3);
    System.out.println("ArrayList: " + list);
  }
}

Der obige Code gibt den folgenden Fehler aus, da er Operationen wie add, remove usw. nicht erlaubt:

> Exception in thread "main" java.lang.UnsupportedOperationException
> 	at java.base/java.util.AbstractList.add(AbstractList.java:153)
> 	at java.base/java.util.AbstractList.add(AbstractList.java:111)
> 	at myClass.main(myClass.java:6)

Sie können jedoch den Wert an jeder beliebigen Stelle in dieser Art von Liste ändern.

import java.util.*;

public class myClass {
  public static void main(String args[]) {
    List<Integer> list = Arrays.asList(1, 2);
    System.out.println("Initial ArrayList: " + list);
    list.set(1, 3);
    System.out.println("Changed ArrayList: " + list);
  }
}

Der obige Code gibt den folgenden Fehler aus:

Initial ArrayList: [1, 2]
Changed ArrayList: [1, 3]

Jetzt wissen wir, wie man verschiedene Arten von Listen in Java erstellt.

Verwandter Artikel - Java List