java - 在 Java 8 中将 List<List<Integer>> 转换为 int[][]

标签 java java-8 java-stream

我正在寻找转换 List<List<Integer>>进入int[][]在 Java 8 中。有什么快速指南吗?

我尝试了如下所示的方法,但我需要 int[][] .

List<Integer> flat = arr.stream()
                        .flatMap(List::stream)
                        .collect(Collectors.toList());

最佳答案

您可以将内部列表映射为 int 并将它们收集到 int 数组中,然后将外部列表收集为 2D 数组:

int[][] flat = arr.stream()
        .map(a -> a.stream().mapToInt(Integer::intValue).toArray())
        .toArray(int[][]::new);

关于java - 在 Java 8 中将 List<List<Integer>> 转换为 int[][],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67207567/

相关文章:

java - 如何从可选项集合中获取数据?

java - 如何在 Java8 中强制立即对流进行评估

java - 安装正确的 Java 后,MacOS 上的 Oracle SQLDeveloper 无法打开

Java Home 不同吗?如何在Android Studio中正确设置?

java - 使用 java 8 集合和流解析 JSON 对象的多个字段并添加到列表中

java - 如何通过 Gradle 下载 Spring 和 Hibernate JAR

java - 如果使用Java 8 Streams列表为空,则返回默认列表?

java - 在树的罗马统治数字

java - 无法在 Eclipse 类文件 : just started facing this issue 上进行调试

java - 如何从富文本压缩和调整图像大小