如何使用Java 8流API将List <List <Double >>转换为List <Double []>和List <double []>?

use*_*693 3 java-8 java-stream

我遇到了这个问题.我在这里找到了类似的答案,但没有一个能解决这个问题.我应该在这里使用mapToDouble()吗?有没有像"mapToDoubleArray"这样的东西?

Ale*_* C. 5

要将a转换List<List<Double>>为a List<double[]>,您需要将每个内部列表映射到一个double数组中,并mapToDouble结合使用toArray()(这是您正在寻找的"mapToDoubleArray"操作).

List<double[]> res = 
    myList.stream()
          .map(l -> l.stream().mapToDouble(d -> d).toArray())
          .collect(toList());
Run Code Online (Sandbox Code Playgroud)

如果你想要一个List<Double[]>,你可以简单地使用.map(list -> list.toArray(new Double[list.size()])).