Как удалить конкретную строку и определенный столбец из 2D-массива в Java? - PullRequest
3 голосов
/ 15 ноября 2011

Если у меня есть метод, который принимает int [] [], номер строки для удаления и номер столбца для удаления, как мне удалить эту конкретную строку и столбец из массива и вернуть новый уменьшенный массив?

Я хочу сделать это, взяв все, кроме строки / столбца, который я хочу удалить, и затем поместив его в два временных ArrayLists, а затем создав новый массив для возврата из значений в двух массивах.Я думаю, что я могу просто удалить определенную строку, но я не знаю, как удалить столбец.

Ответы [ 2 ]

5 голосов
/ 15 ноября 2011

Я думаю, что лучший подход - создать новый массив

int[xsize-1][ysize-1]

Наличие вложенного цикла for для копирования из исходного массива в место назначения. И пропустить для конкретных я и J

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;
        }
    }
0 голосов
/ 25 февраля 2017

Я пытаюсь удалить оба 3 в двух столбцах, под индексом 2, как этого добиться?

public class For_petlja {

    public static void main(String[] args) {

        int[][] niz = {
            {9, 2, 3, 6, 7},
            {4, 7, 3, 5, 1}
        };
        int j;
        for (int i = 0; i < niz.length; i++) {
            for (j = 0; j < niz[i].length; j++) {
                if (i == 2) {
                    continue;
                }
            } // for 'j'
            System.out.println(Arrays.toString(niz[j]));
        } // for 'i'
    } // main method.
} // class
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...