如何在Java中将多维数组映射到单个数组?

二维数组不过是一维数组的数组。因此,将二维数组映射为一维数组。

创建等于2d数组长度的数组,并使用for循环将2d数组的内容逐行存储在上面创建的数组中。

示例

public class Mapping_2DTo1D {
   public static void main(String args[]) {
      int [][] array2D = {{7, 9, 8, 5}, {4, 5, 1, 8}, {9, 3, 2, 7}, {8, 1, 0, 9}};
      int [] myArray1 = new int[array2D[0].length];
      int [] myArray2 = new int[array2D[0].length];
      int [] myArray3 = new int[array2D[0].length];
      int [] myArray4 = new int[array2D[0].length];
      for (int i = 0; i < array2D[0].length; ++i) {
         myArray1[i] = array2D[0][i];
         myArray2[i] = array2D[1][i];
         myArray3[i] = array2D[2][i];
         myArray4[i] = array2D[3][i];
      }
      System.out.println(Arrays.deepToString(array2D));
      System.out.println(Arrays.toString(myArray1));
      System.out.println(Arrays.toString(myArray2));
      System.out.println(Arrays.toString(myArray3));
      System.out.println(Arrays.toString(myArray4));
   }
}

输出结果

[[7, 9, 8, 5], [4, 5, 1, 8], [9, 3, 2, 7], [8, 1, 0, 9]]
[7, 9, 8, 5]
[4, 5, 1, 8]
[9, 3, 2, 7]
[8, 1, 0, 9]