【问题标题】:Convert two-dimensional ArrayList to two-dimensional array [duplicate]将二维ArrayList转换为二维数组[重复]
【发布时间】:2020-09-10 21:14:45
【问题描述】:

我有一个整数的二维 ArrayList(比如列表)
ArrayList<ArrayList<Integer>> list=new ArrayList<ArrayList<Integer>>() //假设值已分配
我想将它转换为 Java 中原始 int 的二维数组。我怎样才能像我们在一维案例中那样使用蒸汽来实现这一点

ArrayList<Integer> x =  new ArrayList<Integer>();
int[] arr = x.stream().mapToInt(i -> i).toArray();

【问题讨论】:

  • 不应该x 是一个列表吗?

标签: java arrays arraylist


【解决方案1】:

你可以这样做:

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

每个内部List 都映射到int[](首先将其转换为IntStream),然后将Stream&lt;int[]&gt; 转换为int[][]

【讨论】:

    猜你喜欢
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2014-04-23
    • 2020-10-04
    • 2019-01-23
    • 2013-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多