首页 > 解决方案 > 从二维数组中的所有值填充一维数组

问题描述

假设我有一个带有 int 值的二维数组,我想用二维数组中的所有 int 值填充一个一维数组,我该怎么做呢?

这是我尝试过的,但是出了点问题,我不知道是什么..

int[][] twoDimensionalArray = {{5, 2, 3, 1},
                               {4, 2, 6, 9},
                               {8, 9, 1, 8}};
int[] oneDimensionalArray = new int[twoDimensionalArray.length * twoDimensionalArray.length];
for (int i = 0; i < twoDimensionalArray.length; i++) {
    for (int j = 0; j < twoDimensionalArray.length; j++) {
      oneDimensionalArray[i] = twoDimensionalArray[i][j];
     }
}

谢谢!

标签: javaarrays

解决方案


我可以提出这样的建议,

String[][] my2Darr = {{5, 2, 3, 1},
                      {4, 2, 6, 9},
                      {8, 9, 1, 8}};
    List<String> list = new ArrayList<>();
    for(int i = 0; i < my2Darr.length; i++) {
        list.addAll(Arrays.asList(my2Darr[i])); // java.util.Arrays
    }
    String[] my1Darr = new String[list.size()];
    my1Darr = list.toArray(my1Darr);

爪哇 8:

int[][] 2darr = {{5, 2, 3, 1},
               {4, 2, 6, 9},
               {8, 9, 1, 8}};
int[] 1darr = Stream.of(2darr ).flatMapToInt(IntStream::of).toArray();
System.out.println(Arrays.toString(1darr ));

推荐阅读