如何通过构造 Double 来初始化 HashSet 值? [复制]
Posted
技术标签:
【中文标题】如何通过构造 Double 来初始化 HashSet 值? [复制]【英文标题】:How to initialize HashSet values by construction for Double? [duplicate] 【发布时间】:2018-06-15 13:16:30 【问题描述】:我正在关注链接:How to initialize HashSet values by construction?,这可能是一个非常愚蠢的问题,但我没有成功,请指导。
public class Demo
public static void main(String[] args)
Set<Double> tempSet = new HashSet<Double>();
tempSet.add(11.0);
tempSet.add(22.0);
// Below both lines not working
Set<Double> tempSet1 = new HashSet<Double>(11.0, 22.0);
Set<Double> tempSet1 = new HashSet<Double>()11.0, 22.0;
【问题讨论】:
Set<Double> tempSet1 = new HashSet<Double>(11.0, 22.0);
无法编译。你想实现什么样的初始化?
有没有办法在一行代码中做到这一点?
【参考方案1】:
Set<Double> tempSet1 = new Hashset<Double>(Arrays.asList(11.0,22.0));
【讨论】:
【参考方案2】:这个语句没有任何意义:Set<Double> tempSet1 = new HashSet<Double>(11.0, 22.0);
如果你想在一行代码中初始化它们,试试这个:Set<String> h = new HashSet<>(Arrays.asList(new Double[] 11.0,22.0));
如果有效,请选择作为答案! :D
【讨论】:
【参考方案3】:根据that question 中的答案,以下是一些示例:
//List initialization by using an array
Set<Double> h = new HashSet<>(Arrays.asList(11.0, 22.0));
//Java 8
Set<Double> set = Stream.of(11.0, 22.0).collect(Collectors.toSet());
【讨论】:
【参考方案4】:如果你使用的是 Java 9,那么
Set<Double> dblSet5 = Set.of(11.20, 2.0, 32.0, 56.0);
或者
Set<Double> dblSet5 = Set.of(<Array Of Double>);
【讨论】:
以上是关于如何通过构造 Double 来初始化 HashSet 值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章