cod*_*001 3 java java-8 java-stream
我是 Streams 的新手,我有一个长值列表。我想使用流将长值列表转换为双值列表。
这是代码:
List<Long> list = new ArrayList<>();
list.add(4L);
list.add(92L);
list.add(100L);
Run Code Online (Sandbox Code Playgroud)
我想将列表转换为List<double>. 谢谢
您必须使用map运算符转换Long为 aDouble然后使用toList收集器。
List<Double> doubleValues = list.stream()
.map(Double::valueOf)
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
相反,如果您担心自动装箱的开销,您可以创建一个double. 这是它的外观。
double[] doubleArr = list.stream().mapToDouble(v -> v).toArray();
Run Code Online (Sandbox Code Playgroud)