Ich möchte ein Array in ein Set in Java konvertieren. Es gibt einige offensichtliche Möglichkeiten, dies zu tun (z. B. mit einer Schleife), aber ich möchte etwas ein bisschen ordentlicher, etwas wie:
java.util.Arrays.asList(Object[] a);
Irgendwelche Ideen?
Zum Beispiel so:
Set<T> mySet = new HashSet<>(Arrays.asList(someArray));
In Java 9+, wenn unmodifizierbarer Satz ok ist:
Set<T> mySet = Set.of(someArray);
In Java 10+ kann der generische Typ-Parameter aus dem Komponententyp des Arrays abgeleitet werden:
var mySet = Set.of(someArray);
Nachdem Sie Arrays.asList(array)
ausgeführt haben, können Sie Set set = new HashSet(list);
ausführen.
Hier ist eine Beispielmethode, die Sie schreiben können:
public <T> Set<T> GetSetFromArray(T[] array) {
return new HashSet<T>(Arrays.asList(array));
}
neues HashSet<Object>(Arrays.asList(Object[] a));
Aber ich denke, dies wäre effizienter:
final Set s = new HashSet<Object>();
for (Object o : a) { s.add(o); }