如何在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]