[英]How do I remove a specific row and a specific column from a 2D Array in Java?
如果我有一個接受int [] []的方法,要刪除的行號和要刪除的列號,我將如何從Array中刪除該特定的行和列並返回新的簡化數組?
我想通過除了我要刪除的行/列之外的所有內容,然后將它放入兩個臨時的ArrayLists,然后構造一個新的Array以從兩個Arrays中的值返回來實現它。 我想我可以刪除一個特定的行,但我不知道如何刪除列。
我認為最好的方法是創建一個新的數組
int[xsize-1][ysize-1]
有一個嵌套的for循環從源數組復制到目標。 並跳過特定的i和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;
}
}
我試圖刪除索引2下的兩列中的3個,如何實現它?
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.