Konvertieren einer Sammlung in eine Liste in Java
- Verwendung eines Konstruktors zur Umwandlung einer Sammlung in eine Liste in Java
- Verwenden Sie integrierte Funktionen, um eine Sammlung in Java in eine Liste umzuwandeln
-
Verwendung der
for
-Schleife zur Umwandlung einer Sammlung in eine Liste in Java -
Verwenden Sie
collect
, um die Sammlung in Java in eine Liste umzuwandeln
![Konvertieren einer Sammlung in eine Liste in Java](/img/Java/feature-image---convert-collections-to-list-in-java.webp)
In diesem Artikel werden die verschiedenen Methoden zum Konvertieren einer Sammlung in eine Liste in Java vorgestellt und erläutert.
Verwendung eines Konstruktors zur Umwandlung einer Sammlung in eine Liste in Java
Wir können die Konstruktorfunktion verwenden und die Sammlung, die wir konvertieren möchten, im Parameter bereitstellen.
Syntax:
List<Generic> listname = new ArrayList<>(collectionName);
Beispiel:
import java.util.*;
public class ExpHStoLL {
public static void main(String[] args) {
Set<String> hs = new HashSet<String>();
// Adding names in hs
hs.add("Dhruv");
hs.add("Sahil");
hs.add("Ajay");
System.out.println("Hash Set Collection :" + hs);
// Using constructor of hs for linked list
List<String> MyList = new LinkedList<String>(hs);
System.out.println("\nLinked List after conversion: " + MyList);
}
}
Ausgabe:
Hash Set Collection :[Dhruv, Sahil, Ajay]
Linked List after conversion: [Dhruv, Sahil, Ajay]
Hier haben wir ein Hash-Set von Namen erstellt und dann mit dem Konstruktor hs
eine Liste aus dem Hash-Set erstellt.
Verwenden Sie integrierte Funktionen, um eine Sammlung in Java in eine Liste umzuwandeln
Es gibt zwei eingebaute Methoden zum Konvertieren einer Sammlung in eine Liste in den Klassen Array und Collections.
Verwendung von asList
zur Umwandlung einer Sammlung in eine Liste in Java
Die Klasse Array stellt die Methode asList()
zur Verfügung, um eine Array-Sammlung in eine Liste umzuwandeln.
Syntax:
List<Generic> MyList = Arrays.asList(ArrayName);
Beispiel:
import java.util.*;
public class ExpArrtoL {
public static void main(String args[]) {
String[] MyArray = {"Dhruv", "Sahil", "Ajay"};
System.out.println("My Array: " + Arrays.toString(MyArray));
// Using asList function
List<String> MyList = Arrays.asList(MyArray);
System.out.println("List using asList(): " + MyList);
}
}
Ausgabe:
My Array: [Dhruv, Sahil, Ajay]
List using asList(): [Dhruv, Sahil, Ajay]
Im obigen Code haben wir ein Array erstellt und dann die Funktion asList()
mit dem Arraynamen MyArray
als Argument verwendet, um die Sammlung in eine Liste umzuwandeln.
Verwendung von addAll
zur Umwandlung einer Sammlung in eine Liste in Java
addAll()
ist eine im Collections-Framework bereitgestellte Methode, mit der wir eine Collection in eine Liste umwandeln können. Die Elemente aus der Sammlung können einzeln oder als Array angegeben werden.
Dies ähnelt der Methode asList()
, ist jedoch leistungsfähiger und verbessert effektiv die Zeitkomplexität. Wir müssen sowohl ein Array als auch eine Liste erstellen, bevor wir diese Methode verwenden, da zwei Parameter erforderlich sind, um Elemente aus der Sammlung in die Liste zu kopieren.
Syntax:
Collections.addAll(ListName, ArrayName);
Beispiel:
import java.util.*;
public class ExpArrtoL {
public static void main(String args[]) {
String[] MyArray = {"Dhruv", "Sahil", "Ajay"};
System.out.println("My Array: " + Arrays.toString(MyArray));
List<String> MyList = new ArrayList<>();
// Using addAll function
Collections.addAll(MyList, MyArray);
System.out.println("List using addAll(): " + MyList);
}
}
Ausgabe:
My Array: [Dhruv, Sahil, Ajay]
List using addAll(): [Dhruv, Sahil, Ajay]
Verwendung der for
-Schleife zur Umwandlung einer Sammlung in eine Liste in Java
Wenn wir keinen Konstruktor oder eingebaute Funktionen verwenden möchten, kann die for-each
-Schleife helfen, eine Sammlung in eine Liste umzuwandeln. Diese Methode ist für Anfänger geeignet, da sie eine einfache Möglichkeit der Konvertierung bietet.
Beispiel:
import java.util.*;
public class ListUsingForLoop {
public static void main(String[] args) {
Set<String> hs = new HashSet<String>();
hs.add("Dhruv");
hs.add("Sahil");
hs.add("Ajay");
System.out.println("Our HashSet HS:" + hs);
// List of the same size as our HashSet hs
List<String> MyList = new ArrayList<String>(hs.size());
// The loop picks each string of HS and adds it to the List
for (String x : hs) MyList.add(x);
System.out.println("\nList made from HS:" + MyList);
}
}
Ausgabe:
Our HashSet HS:[Dhruv, Sahil, Ajay]
List made from HS:[Dhruv, Sahil, Ajay]
Hier haben wir einen HashSet von Namen erstellt und sie für jede Schleife verwendet, um anzugeben, dass wir für jeden im HashSet hs
gefundenen String den String zu unserer Liste MyList
hinzufügen.
Verwenden Sie collect
, um die Sammlung in Java in eine Liste umzuwandeln
Wir können auch die Funktion collect()
des Streams verwenden, um eine Sammlung in eine Liste umzuwandeln und ein Ergebnis anzuzeigen, ohne unsere ursprüngliche Sammlung zu bearbeiten.
Die Methode collect()
sammelt Elemente aus Datenstrukturen oder Sammlungen und stellt zusätzliche Logik für deren Bearbeitung bereit.
Syntax:
List<Generic> ListName = CollectionName.stream().collect(toList());
Beispiel:
import java.util.*;
import java.util.stream.*;
public class ExpHStoLL {
public static void main(String[] args) {
Set<String> hs = new HashSet<String>();
// Adding names in hs
hs.add("Dhruv");
hs.add("Sahil");
hs.add("Ajay");
System.out.println("Hash Set Collection :" + hs);
List<String> MyList = hs.stream().collect(Collectors.toList());
System.out.println("\nConverted to List: " + MyList);
}
}
Ausgabe:
Hash Set Collection :[Dhruv, Sahil, Ajay]
Converted to List: [Dhruv, Sahil, Ajay]
Während die Methode collect()
der Stream-API verwendet wird, um Sammlungen in eine Liste umzuwandeln, erfolgt das Kopieren mithilfe von Referenzen.
Da die Liste ein Referenzdatentyp ist, d. h. die Referenzadresse der tatsächlichen Objekte oder Elemente speichert, werden Änderungen an unserer Liste auch unsere Sammlung ändern.
Die aus der ursprünglichen Sammlung erstellte Kopierliste ist eine flache Kopie. Das bedeutet, dass das Entfernen der Liste auch das Element aus der ursprünglichen Sammlung entfernt.
Wir können dies vermeiden, indem wir eine tiefe Kopie erstellen, bei der das Kopieren einer Sammlung in eine Liste zu einer neuen Speicherzuweisung für die Liste führt, anstatt nur alte Referenzen zu kopieren.
Verwandter Artikel - Java List
- Aufteilen einer Liste in Chunks in Java
- Filterliste in Java
- Finden Sie den Index eines Elements in einer Liste mit Java
- Holen Sie sich das erste Element aus der Liste in Java
- Unterschiede zwischen List und Arraylist in Java