嵌套列表转化为二维数组

使用流的方式可以将嵌套的列表转化为二维数组。

List<List<Integer>> res = new ArrayList<>();
for (int i = 0; i < 3; i++) {
    ArrayList<Integer> list = new ArrayList<>();
    for (int j = 0; j < 5; j++) {
        list.add((int) (Math.random() * 100));
    }
    res.add(list);
}

// 嵌套列表转化为二维数组的写法
int[][] ints = res.stream().map(x -> x.stream().mapToInt(Integer::intValue).toArray()).toArray(int[][]::new);

代码解释:

  1. map 实现 List<Integer> 转化为 int[];
  2. 然后转化为int[][].
posted @ 2022-04-17 10:28  zhenjiaguo  阅读(775)  评论(0)    收藏  举报