Wie konvertiert man am einfachsten eine List
zu einer Set
in Java?
Ich glaube, Sie meinten, es von der Liste in den Satz zu übertragen.
Wie konvertiert man am einfachsten eine List
zu einer Set
in Java?
Es gibt verschiedene Möglichkeiten, eine Set
als:
List<Integer> sourceList = new ArrayList();
sourceList.add(1);
sourceList.add(2);
sourceList.add(3);
sourceList.add(4);
// Using Core Java
Set<Integer> set1 = new HashSet<>(sourceList); //needs null-check if sourceList can be null.
// Java 8
Set<Integer> set2 = sourceList.stream().collect(Collectors.toSet());
Set<Integer> set3 = sourceList.stream().collect(Collectors.toCollection(HashSet::new));
//Guava
Set<Integer> set4 = Sets.newHashSet(sourceList);
// Apache commons
Set<Integer> set5 = new HashSet<>(4);
CollectionUtils.addAll(set5, sourceList);
Wenn wir die Collectors.toSet()
wird eine Menge zurückgegeben und wie im Dokument beschrieben: There are no guarantees on the type, mutability, serializability, or thread-safety of the Set returned
. Wenn wir eine HashSet
dann können wir die andere Alternative verwenden, um eine Menge zu erhalten (siehe set3
).
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.