919 Stimmen

Wie man eine neue Liste in Java erstellt

Wir erstellen eine Set als:

Set myset = new HashSet()

Wie schaffen wir eine List in Java?

23voto

Vitalii Fedorenko Punkte 103468

Seit Java 7 haben Sie Typinferenz für die generische Instanzerstellung Es besteht also keine Notwendigkeit, die allgemeinen Parameter auf der rechten Seite der Zuweisung zu duplizieren:

List<String> list = new ArrayList<>();

Eine Liste mit fester Größe kann wie folgt definiert werden:

List<String> list = Arrays.asList("foo", "bar");

Für unveränderliche Listen können Sie die Guave Bibliothek:

List<String> list = ImmutableList.of("foo", "bar");

21voto

Blerta Punkte 2138
//simple example creating a list form a string array

String[] myStrings = new String[] {"Elem1","Elem2","Elem3","Elem4","Elem5"};

List mylist = Arrays.asList(myStrings );

//getting an iterator object to browse list items

Iterator itr= mylist.iterator();

System.out.println("Displaying List Elements,");

while(itr.hasNext())

  System.out.println(itr.next());

21voto

akhil_mittal Punkte 20953

List ist eine Schnittstelle wie Set und hat ArrayList y LinkedList als Allzweck-Implementierungen .

Wir können Liste erstellen als:

 List<String> arrayList = new ArrayList<>();
 List<String> linkedList = new LinkedList<>(); 

Wir können auch eine Liste mit fester Größe als erstellen:

List<String> list = Arrays.asList("A", "B", "C");

Wir würden fast immer mit ArrayList im Gegensatz zu LinkedList Umsetzung:

  1. LinkedList verbraucht viel Platz für Objekte und schneidet schlecht ab, wenn wir viele Elemente haben.
  2. Jede indizierte Operation in LinkedList benötigt O(n) Zeit im Vergleich zu O(1) bei ArrayList .
  3. Prüfen Sie dies enlace für weitere Informationen.

Die Liste, die von Arrays.asList kann strukturell nicht geändert werden, aber seine Elemente können dennoch geändert werden.

Java 8

Gemäß doc die Methode Collections.unmodifiableList gibt eine unveränderbare Ansicht der angegebenen Liste zurück. Wir können sie wie folgt erhalten:

Collections.unmodifiableList(Arrays.asList("A", "B", "C"));

Java 9

Im Falle der Verwendung von Java 9 dann:

List<String> list = List.of("A", "B");

Java 10

Wenn wir Java 10 verwenden, wird die Methode Collectors.unmodifiableList gibt eine Instanz einer wirklich unveränderlichen Liste zurück, die in Java 9 eingeführt wurde. Prüfen Sie dies Antwort für weitere Informationen über den Unterschied in Collections.unmodifiableList gegen Collectors.unmodifiableList en Java 10 .

20voto

Sorin Mocanu Punkte 916

Liste ist nur eine Schnittstelle, genau wie Satz .

Wie HashSet ist eine Implementierung einer Menge, die bestimmte Eigenschaften in Bezug auf hinzufügen / Lookup / entfernen Leistung hat, ist ArrayList die bloße Implementierung einer Liste.

Wenn Sie einen Blick in die Dokumentation der jeweiligen Schnittstellen werfen, finden Sie dort "All Known Implementing Classes" und können entscheiden, welche für Ihre Bedürfnisse besser geeignet ist.

Die Chancen stehen gut, dass es sich um ArrayList .

14voto

Jobin Punkte 5104

Im Folgenden finden Sie einige Möglichkeiten, wie Sie Listen erstellen können.

  • Dadurch wird eine Liste mit fester Größe erstellt, Hinzufügen/Entfernen Elemente nicht möglich ist, kommt es zu einem java.lang.UnsupportedOperationException wenn Sie dies versuchen.

    List<String> fixedSizeList = Arrays.asList(new String[] {"Male", "Female"});
    List<String> fixedSizeList = Arrays.asList("Male", "Female");
    List<String> fixedSizeList = List.of("Male", "Female"); //from java9
  • Bei der folgenden Version handelt es sich um eine einfache Liste, bei der Sie eine beliebige Anzahl von Elementen hinzufügen oder entfernen können.

     List<String> list = new ArrayList<>();
  • So erstellen Sie eine LinkedList in Java. Wenn Sie häufig Elemente in die Liste einfügen oder aus ihr löschen müssen, sollten Sie LinkedList anstelle von ArrayList

     List<String> linkedList = new LinkedList<>();

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X