【发布时间】:2023-04-03 00:19:01
【问题描述】:
ArrayList<ArrayList<Float>> lists = new ArrayList<ArrayList<Float>>();
这是我正在使用的数组列表。 我试过这个:
float[][] trainingData = lists.stream()
.map(l -> l.stream()
.mapToFloat(Float::parseFloat)
.toArray())
.toArray(float[][]::new);
我收到此错误:
方法 mapToFloat(Float::parseFloat) 未定义 Stream 类型
我必须将这个二维 ArrayList 转换为二维 Float 数组。
【问题讨论】:
-
lists.stream() .flatMap(Collection::stream) .toArray(float[][]::new); -
你能用
Float[][]代替float[][]吗?如果没有,您唯一的选择是双 for 循环。 -
This answer 包含
float[]数组的收集器。看到它,你可能会意识到使用循环更简单……
标签: java arrays arraylist java-stream