【问题标题】:Convert List<List<Integer>> to int[][] in Java 8 [duplicate]在 Java 8 中将 List<List<Integer>> 转换为 int[][] [重复]
【发布时间】:2021-07-16 08:10:00
【问题描述】:

我希望在 Java 8 中将 List&lt;List&lt;Integer&gt;&gt; 转换为 int[][]。任何快速指针?

我尝试了类似下面的方法,但我需要int[][]

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

【问题讨论】:

    标签: java java-8 java-stream


    【解决方案1】:

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

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

    【讨论】:

    • 有趣的是arr 不是List&lt;List&lt;Integer&gt;&gt; 的理想名称
    • 非常好+1,虽然很难记住! :)
    猜你喜欢
    • 2016-12-26
    • 2023-03-26
    • 1970-01-01
    • 2021-10-13
    • 1970-01-01
    • 2010-10-31
    • 2021-08-20
    相关资源
    最近更新 更多