java - 如何通过构造初始化HashSet值?

标签 java collections constructor initialization hashset

我需要创建一个带有初始值的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/

相关文章:

c++ - 为类创建带参数的复制构造函数

c# - 在构造函数中注册事件?

java - 构造函数没有任何返回类型,但是对象是如何创建的呢?

java - 哪个类将hadoop源代码中的mapreduce作业连接到其数据集?

java - 在特定类上使用 Collection.sort 时出现语法错误

Java - 将静态 arrayList 从一个类复制到另一个类中的 HashMap

java - 在 Java 中使用 volatile 集合和数组

java - 无法使用我的服务对象连接到我的谷歌端点

java - 使用传递的泛型进行 GSON 反序列化

java - 用于持久消息的 kaha 数据库消息存储