如何从Java中的2D数组中删除特定行和特定列?

DrB*_*aus 3 java arrays arraylist matrix multidimensional-array

如果我有一个接受int [] []的方法,要删除的行号和要删除的列号,我将如何从Array中删除该特定的行和列并返回新的简化数组?

我想通过除了我要删除的行/列之外的所有内容,然后将它放入两个临时的ArrayLists,然后构造一个新的Array以从两个Arrays中的值返回来实现它.我想我可以删除一个特定的行,但我不知道如何删除列.

par*_*mar 5

我认为最好的方法是创建一个新的数组

int[xsize-1][ysize-1]

有一个嵌套的for循环从源数组复制到目标.并跳过特定的ij

static void TestFunction()
    {
        int rows = 5;
        int columns = 6;
        int sourcearr[][] = new int[rows][columns];
        int destinationarr[][] = new int[rows-1][columns-1];

        int REMOVE_ROW = 2;
        int REMOVE_COLUMN = 3;
        int p = 0;
        for( int i = 0; i < rows; ++i)
        {
            if ( i == REMOVE_ROW)
                continue;


            int q = 0;
            for( int j = 0; j < columns; ++j)
            {
                if ( j == REMOVE_COLUMN)
                    continue;

                destinationarr[p][q] = sourcearr[i][j];
                ++q;
            }

            ++p;
        }
    }
Run Code Online (Sandbox Code Playgroud)