我需要创建一个带有初始值的Set
。
Set<String> h = new HashSet<String>();
h.add("a");
h.add("b");
有没有办法在一行代码中做到这一点?例如,它对 final 静态字段很有用。
最佳答案
我使用的速记不是很省时,但适合一行:
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));
稍微不那么难看,效率对静态初始化无关紧要。
关于java - 如何通过构造初始化HashSet值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2041778/