簡體   English   中英

如何在 Java 中將 List<Long> 轉換為 double[]

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM