如何从2D java数组中获取列?

Der*_*ick 23 java arrays multidimensional-array

我知道2d数组是数组的数组.要获得一行,你可以做:

rowArray = my2Darray[row]
Run Code Online (Sandbox Code Playgroud)

由于每行可以是不同的大小,我假设它不是为了从2D数组中获取列而构建的.这让我相信你必须做的事情如下:

for(int row = 0; row < numRows; row++)
{
    colArray[row] = m2Darray[row][columnOfInterest];
}
Run Code Online (Sandbox Code Playgroud)

它是否正确?这是唯一的方法吗?

jav*_*y79 9

如果你被锁定使用二维数组,那么是的,这就是它.但是,一个可能对您有帮助的建议(如果可能):

将数组包装在处理列提取的类中.

祝好运.


dav*_*veb 7

Commons math有一些你可能想要查看的工具:

double[][] data = new double[10][10];
BigMatrix matrix = MatrixUtils.createBigMatrix(data);
matrix.getColumnAsDoubleArray(0);
Run Code Online (Sandbox Code Playgroud)

Commons Math Library