Wie man in Java ein Array in eine Menge umwandelt

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?

Lösung

Zum Beispiel so:

Set mySet = new HashSet(Arrays.asList(someArray));

In Java 9+, wenn unmodifizierbarer Satz ok ist:

Set mySet = Set.of(someArray);

In Java 10+ kann der generische Typ-Parameter aus dem Komponententyp des Arrays abgeleitet werden:

var mySet = Set.of(someArray);
Kommentare (14)

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  Set GetSetFromArray(T[] array) {
    return new HashSet(Arrays.asList(array));
}
Kommentare (2)

neues HashSet(Arrays.asList(Object[] a));

Aber ich denke, dies wäre effizienter:

final Set s = new HashSet();    
for (Object o : a) { s.add(o); }         
Kommentare (3)