構築によってHashSet値を初期化する方法は?質問する

構築によってHashSet値を初期化する方法は?質問する

初期値を持つを作成する必要がありますSet

Set<String> h = new HashSet<String>();
h.add("a");
h.add("b");

これを 1 行のコードで実行する方法はありますか? たとえば、これは final 静的フィールドに役立ちます。

ベストアンサー1

私が使用している、あまり時間効率は良くないが 1 行に収まるショートカットがあります。

Set<String> h = new HashSet<>(Arrays.asList("a", "b"));

繰り返しになりますが、配列を構築し、リストに変換し、そのリストを使用してセットを作成するため、これは時間効率がよくありません。

静的最終セットを初期化するときは、通常次のように記述します。

public static final String[] SET_VALUES = new String[] { "a", "b" };
public static final Set<String> MY_SET = new HashSet<>(Arrays.asList(SET_VALUES));

静的初期化では、見た目が少し良くなり、効率も問題になりません。

おすすめ記事