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