[英]How to convert a List< Long> into a double[] in Java
我正在嘗試在 Java 中將List<Long>
轉換為double[]
,
我是按照以下方式做的,
List<Long> longList = ........;
int len = longList.size();
double[] doubleArray = new double[len];
for (int i = 0; i < len; i++)
doubleArray[i] = (double) longList.get(i);
我想知道我是否可以以更聰明的方式(以及如何)做到這一點,因為我使用的是Java-8
,我看到使用流方法進行了一些轉換。 但找不到任何可以解決我的問題的東西。
你確實可以使用流來做到這一點:
double[] result = longList.stream()
.mapToDouble(Long::doubleValue)
.toArray();
它可能更短更干凈,但您不會在性能方面獲得任何好處。
只需使用:
double[] doubleArray = longList.stream().mapToDouble(v -> v).toArray();
如果您使用的是 Java 8,請嘗試以下操作:
list.stream().map(v -> (double)v)
.toArray(Double[]::new);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.