如何通过构建初始化HashSet值?

问题:

我需要创建一个具有初始值的Set

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

有一种方法可以在一行代码中执行此操作吗?

回答:

有一个速记,我使用它不是很有效率,但适合一条线:

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));

对于静态初始化来说,稍微不那么丑陋和效率并不重要。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: How to initialize HashSet values by construction?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

75 + = 82