Java で配列を Set に変換したいと思います。これを行うにはいくつかの明白な方法 (ループを使用するなど) がありますが、次のようなもう少しすっきりした方法が欲しいです。
java.util.Arrays.asList(Object[] a);
何か案は?
ベストアンサー1
このような:
Set<T> mySet = new HashSet<>(Arrays.asList(someArray));
Java 9 以降では、変更不可能なセットが OK の場合:
Set<T> mySet = Set.of(someArray);
Java 10 以降では、ジェネリック型パラメータは配列コンポーネント型から推論できます。
var mySet = Set.of(someArray);
気をつけて
Set.of は、someArray に重複する要素がある場合に IllegalArgumentException をスローします。詳細については、以下を参照してください。https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html#of(E...)
変更不可能なセットが必要で、配列内に重複した要素がある可能性がある場合は、次の手順を実行します。
var mySet = Set.copyOf(Arrays.asList(array));