You need to increase the index of a 1-dimensional array for each record in multidimensional:
String[][] multiArray = {{"1","2","3"},{"4","5","6"}};
String[] singleArray = new String[6];
for (int x = 0, i = 0; x < multiArray.length; x++) {
for (int z = 0; z < multiArray[x].length; z++) {
singleArray[i++] = multiArray[x][z];
}
}
Note that it is iinitialized in the outer loop and incremented when a value is assigned in a 1-dimensional array.
Another equivalent option would be an increase iin the inner loop:
for (int x = 0, i = 0; x < multiArray.length; x++) {
for (int z = 0; z < multiArray[x].length; z++, i++) {
singleArray[i] = multiArray[x][z];
}
}
source
share