首页 > 解决方案 > 如何使用二维数组初始化二维数组列表?

问题描述

我有这个数组

int[][] currGrid = {{1,1},{1,2},{2,2}};

这个数组是静态的,所以我想使用相同的元素创建二维数组列表。有没有办法在不使用 Java 中的 add 的情况下在一行中创建相同的数组列表?

标签: javaarraylist

解决方案


我不清楚您是要将此给定的 2D 数组转换为 2D 列表,还是要创建一个具有这些值的新列表作为单行。

如果您的意思是前者,您可以流式传输数组,然后流式传输其中的每个元素,并收集它们:

List<List<Integer>> currGridList = 
    Arrays.stream(currGrid)
          .map(g -> Arrays.stream(g).boxed().collect(Collectors.toList()))
          .collect(Collectors.toList());

如果你的意思是后者,你可以使用List.of

List<List<Integer>> currGridList = List.of(List.of(1, 1), List.of(1, 2), List.of(2, 2));

推荐阅读