Konvertieren ArrayList in Set in Java
- Konvertieren ArrayList in HashSet mit dem naiven Ansatz in Java
- Konvertieren von ArrayList in HashSet mit Konstruktoren in Java
- Konvertierung von ArrayList in HashSet mit Java 8 Stream API
-
Konvertieren von ArrayList in HashSet mit der Methode
Set.copyOf()
in Java - Konvertieren von ArrayList in HashSet mit der Apache Commons Collection Library in Java
ArrayList ist eine Implementierungsklasse der List-Schnittstelle, die zum Speichern von Daten in linearer Reihenfolge verwendet wird, während das Set eine Schnittstelle ist, die über die HashSet-Klasse zum Speichern von Daten verfügt. Der Hauptunterschied zwischen diesen beiden besteht darin, dass das HashSet keine doppelten Elemente zulässt und eindeutige Elemente speichert.
In diesem Tutorial werden verschiedene Ansätze zum Konvertieren einer ArrayList in ein HashSet vorgestellt.
Konvertieren ArrayList in HashSet mit dem naiven Ansatz in Java
Dies ist der einfachste Ansatz, um eine Liste in eine Menge umzuwandeln.
Bei diesem Ansatz deklarieren wir zunächst eine leere Menge. Wir durchlaufen dann die Liste und fügen ihr Element nacheinander mit der Methode HashSet.add()
zum Set hinzu. Wenn die Schleife endet, wird die Liste in eine Menge umgewandelt.
Sehen Sie sich den Code unten an.
import java.util.*;
public class SimpleTesting {
public static void main(String args[]) {
// initialise a list
List<String> list =
Arrays.asList("Karan", "Rahul", "Jay", "Laxman", "Praful", "Kushagra", "Karan");
// intialise a set
Set<String> set = new HashSet<String>();
// apply for loop
for (String ele : list) {
set.add(ele);
}
// display the set
for (String ele : set) {
System.out.println(ele);
}
}
}
Ausgabe:
Rahul
Kushagra
Jay
Karan
Laxman
Praful
Im obigen Code haben wir eine Liste erstellt, die einige Namen speichert. Wir initialisieren auch ein leeres Set namens set.
Wir durchlaufen dann die Liste und fügen ihre Elemente einzeln zum Set hinzu. Zuletzt drucken wir die Elemente des Sets. Beachten Sie, wie die doppelten Elemente in der Liste eliminiert werden.
Konvertieren von ArrayList in HashSet mit Konstruktoren in Java
Dieser Ansatz ist der einfachste aller Ansätze. Bei diesem Ansatz übergeben wir die zu konvertierende Liste an den Konstruktor der HashSet-Klasse.
Dadurch entfällt die Notwendigkeit einer for
-Schleife, wie sie im vorherigen Ansatz erforderlich war. Der Konstruktor gibt einen neuen Satz mit allen eindeutigen Elementen zurück.
Sehen Sie sich den Code unten an.
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class SimpleTesting {
public static void main(String args[]) {
// initialise a list
List<String> list =
Arrays.asList("Karan", "Rahul", "Jay", "Laxman", "Praful", "Kushagra", "Karan");
// intialise a set
Set<String> set = new HashSet<String>(list);
// display the set
for (String ele : set) {
System.out.println(ele);
}
}
}
Ausgabe:
Rahul
Kushagra
Jay
Karan
Laxman
Praful
Im obigen Code erstellen wir eine Liste, die einige Namen speichert. Wir initialisieren auch ein leeres Set namens set.
Wir übergeben die Liste als Argument an den Konstruktor von HashMap. Zuletzt drucken wir die Elemente des Sets. Beachten Sie, wie die doppelten Elemente in der Liste eliminiert werden.
Konvertierung von ArrayList in HashSet mit Java 8 Stream API
Wir haben die Java 8 Stream API verwendet, um die ArrayList in diesem Ansatz in ein HashSet zu konvertieren. Zuerst haben wir die Liste in einen Stream umgewandelt. Wir wenden dann die Funktion collect
auf den Stream an.
Um in ein Set umzuwandeln, haben wir die Funktion Collectors.toSet()
in der Operation collect
verwendet, um ein Set zu erhalten. Sehen Sie sich den Code unten an.
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
public class SimpleTesting {
public static void main(String args[]) {
// initialise a list
List<String> list =
Arrays.asList("Karan", "Rahul", "Jay", "Laxman", "Praful", "Kushagra", "Karan");
// intialise a set using stream
Set<String> set = list.stream().collect(Collectors.toSet());
// display the set
for (String ele : set) {
System.out.println(ele);
}
}
}
Ausgabe:
Rahul
Kushagra
Jay
Karan
Laxman
Praful
Wir haben eine Liste mit der Funktion List.stream()
im obigen Code in einen Stream umgewandelt. Wir wenden die Operation collect
auf den Stream an und übergeben die Methode Collectors.toSet()
als Argument.
Dies führt zur Umwandlung des Streams in ein Set. Diese Menge speichern wir dann in der Variablenmenge.
Konvertieren von ArrayList in HashSet mit der Methode Set.copyOf()
in Java
Java 10 bietet eine Set.copyof()
-Methode, die eine Collection als Argument verwendet und einen unveränderlichen Satz zurückgibt, der die Elemente der angegebenen Collection enthält. Bei diesem Ansatz verwenden wir die Methode Set.copyOf()
, um eine ArrayList in ein HashSet umzuwandeln.
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
public class SimpleTesting {
public static void main(String args[]) {
// initialise a list
List<String> list =
Arrays.asList("Karan", "Rahul", "Jay", "Laxman", "Praful", "Kushagra", "Karan");
// intialise a set
Set<String> set = Set.copyOf(list);
// display the set
for (String ele : set) {
System.out.println(ele);
}
}
}
Ausgabe:
Rahul
Kushagra
Jay
Karan
Laxman
Praful
Konvertieren von ArrayList in HashSet mit der Apache Commons Collection Library in Java
Wenn Sie mit der Apache Commons Collection-Bibliothek arbeiten, verwenden Sie die Methode CollectionUtils.addAll()
, die zwei Argumente akzeptiert: Ziel-Sammlungsobjekt und Quell-Sammlungsobjekt.
Die Werte des Quellsammlungsobjekts werden in das Zielsammlungsobjekt kopiert und bilden einen Satz. Sehen Sie sich den Code unten an.
Dieser Code verwendet den Abhängigkeitscode der Apache Commons-Bibliothek. Fügen Sie zuerst diese Abhängigkeit zu Ihrem Java-Projekt hinzu, um diesen Code erfolgreich auszuführen.
<!-- https://mvnrepository.com/artifact/commons-collections/commons-collections -->
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.2</version>
</dependency>
import java.util.*;
public class SimpleTesting {
public static void main(String args[]) {
// initialise a list
List<String> sourcelist =
Arrays.asList("Karan", "Rahul", "Jay", "Laxman", "Praful", "Kushagra", "Karan");
// intialise a set
Set<String> targetset = new HashSet<String>();
// Adding elements
CollectionUtils.addAll(targetset, sourcelist);
// display the set
for (String ele : targetset) {
System.out.println(ele);
}
}
}
Ausgabe:
Rahul
Kushagra
Jay
Karan
Laxman
Praful
Verwandter Artikel - Java ArrayList
- Wie sortiere ich Objekte in ArrayList in Java nach Datum
- Suchen Sie eindeutige Werte in Java ArrayList
- Unterschiede zwischen List und Arraylist in Java
- Vektor und ArrayList in Java
- Vergleichen ArrayLists in Java