我知道2d數組是數組的數組。爲了得到一排,你可以這樣做:如何從2D java數組中獲取列?
rowArray = my2Darray[row]
由於各行可以具有不同的尺寸,我假設它沒有內置於得到一個二維數組的一列。它讓我相信你必須這樣做:
for(int row = 0; row < numRows; row++)
{
colArray[row] = m2Darray[row][columnOfInterest];
}
這是正確的嗎?這是唯一的方法嗎?
我知道2d數組是數組的數組。爲了得到一排,你可以這樣做:如何從2D java數組中獲取列?
rowArray = my2Darray[row]
由於各行可以具有不同的尺寸,我假設它沒有內置於得到一個二維數組的一列。它讓我相信你必須這樣做:
for(int row = 0; row < numRows; row++)
{
colArray[row] = m2Darray[row][columnOfInterest];
}
這是正確的嗎?這是唯一的方法嗎?
如果你被鎖定使用2d數組,那麼是的,這是它的一個缺點。然而,一個可能對你有幫助的建議(如果可能的話):
將數組換成處理列取回的類。
祝你好運。
你的方式是走的路。但是,如果您必須多次執行此操作,我可能會建議將其存儲在列中。 (或雙向)
下議院數學有一定的工具,你可能想看看:
double[][] data = new double[10][10];
BigMatrix matrix = MatrixUtils.createBigMatrix(data);
matrix.getColumnAsDoubleArray(0);
嗯,事實上我會寫這個的評論,但我的名聲仍然是低,所以我來回答:
猜你的意思是:
for(int row = 0; row < numRows; row++)
{
colArray[row] = m2Darray[row][columnOfInterest];
}
順便說一句:我想你是對的。沒有更簡單的方法。
另一種方法是將行存儲爲列,反之亦然。例如我需要做同樣的事情,我原本打算有10行2列的數組。由於這個限制,我只是交換了我的行和列,並創建了一個包含10列和2行的數組。然後我可以使用array [0]從新數組(這將是我原始數組的一列)中獲取行。當然,只有當你是該陣列的創建者時,纔有這種靈活性。
希望幫助...
int[][] array = new int[rows][coloumn];
for (int i = 0 ; i < array.length ; i++) {
for (int j = 0 ; j < array[].length; j++) {
int col = array[j][i];
}
}
試試這個
int column = 3;
double result = array[][column];
好運
其實阿帕奇百科全書(3.5)的最新版本沒有BigMatrix類。相反,我們可以使用RealMatrix
double[][] data = new double[10][10];
RealMatrix rm = new Array2DRowRealMatrix(data);
rm.getColumn(i);
剛剛碰到這個帖子偶然。在列數組上執行操作(例如數組複製或操作)的另一種方法是轉置您的數組/矩陣。
不久上講
這種方法已經在縫刻被使用 - 圖像剪切技術
你必須使用StringBuilder類的字符串
StringBuilder s=new StringBuilder();
for(int i=0;i<n;i++)
s.append(arr[i][column]);
您是不是要找'colArray [結束追加新角色行] = m2Darray [row] [columnOfInterest];`? – ChssPly76 2009-07-10 21:15:34