I have a row-based multidimensional array:
/** [row][column]. */
public int[][] tiles;
I would like to transform this array to column-based
Here is my 50 cents: a utility method and test to transponse multidimensional array (for doubles in my case):
/**
* Transponse bidimensional array.
*
* @param original Original table.
* @return Transponsed.
*/
public static double[][] transponse(double[][] original) {
double[][] transponsed = new double
[original[0].length]
[original.length];
for (int i = 0; i < original[0].length; i++) {
for (int j = 0; j < original.length; j++) {
transponsed[i][j] = original[j][i];
}
}
return transponsed;
}
@Test
void aMatrix_OfTwoDimensions_ToBeTransponsed() {
final double[][] original =
new double[][] { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } };
double[][] transponsed = Analysis.transponse(original);
assertThat(transponsed[1][2], is(equalTo(10)));
}