在java中转置(处理数组)一维数组

时间:2013-08-26 00:14:48

标签: java

如果我有下表:

int v[] = new int [2];
v[0]=20;
v[1]=35;

所以我得到了

v= [20 35]

现在,我想转置表v以获得:

v= [20

    35

    ]
但是怎么样?

最诚挚的问候,

李斯特。

3 个答案:

答案 0 :(得分:2)

int v[] = new int [2];
v[0]=20;
v[1]=35;

如果您转置此表(在这种情况下它是一个向量),您最终会在相同的位置使用相同的值。请参阅此Wikipedia文章。正如您自己的图表所示,它是您可视化的方式以及索引所代表的内容。

如果将矢量保持在方阵中,换位会更明显:

a b
c d

转置到

a c
b d

答案 1 :(得分:1)

试试这个:

double[] arr = new double[] {20, 35};
RealMatrix rm = new Array2DRowRealMatrix(arr);
rm.transpose();

答案 2 :(得分:1)

如果您将数组视为1xN的矩阵,那么只需为每个元素创建一个数组:

int v[] = new int [2];
v[0]=20;
v[1]=35;

// ...

int[][] vT = new int[v.length][1];
for(int i = 0; i < v.length; i++) {
    vT[i][0] = v[i];
}