不使用 ArrayList 将 2D 数组转换为 1D 数组

0 java arrays multidimensional-array

创建将二维数组转换为一维数组的函数

但是在声明时一维数组的大小如何为新的一维数组提供大小

int[] convert(int[][] input){
    int[] result;
    int z=0;
    for(int row=0;row<input.length;row++) {
        for(int col=0;col<input[row].length;col++) {
            result[z]=input[row][col];
            z++;
        }
    }
    return result;/* Error comes here For Initialization. How to initialize before Knowing size*/
}
Run Code Online (Sandbox Code Playgroud)

Pav*_*ngh 5

如果行和列平衡

int result[] = new int[input.length * input[0].length];
Run Code Online (Sandbox Code Playgroud)

否则,您必须循环遍历整个数组,同时保留长度计数

int len = 0;
for(int[] a : input){
    len+=a.length;
}
int[] result = new int[len];
Run Code Online (Sandbox Code Playgroud)