How to Map multi-dimensional arrays to a single array in java?

Java 8Object Oriented ProgrammingProgramming

A two-dimensional array is nothing but an array of one dimensional arrays. Therefore to map a two dimensional array into one dimensional arrays.

Create arrays equal to the length of the 2d array and, using for loop store the contents of the 2d array row by row in the arrays created above.

Example

public class Mapping_2DTo1D {
   public static void main(String args[]) {
      int [][] array2D = {{7, 9, 8, 5}, {4, 5, 1, 8}, {9, 3, 2, 7}, {8, 1, 0, 9}};
      int [] myArray1 = new int[array2D[0].length];
      int [] myArray2 = new int[array2D[0].length];
      int [] myArray3 = new int[array2D[0].length];
      int [] myArray4 = new int[array2D[0].length];
      for (int i = 0; i < array2D[0].length; ++i) {
         myArray1[i] = array2D[0][i];
         myArray2[i] = array2D[1][i];
         myArray3[i] = array2D[2][i];
         myArray4[i] = array2D[3][i];
      }
      System.out.println(Arrays.deepToString(array2D));
      System.out.println(Arrays.toString(myArray1));
      System.out.println(Arrays.toString(myArray2));
      System.out.println(Arrays.toString(myArray3));
      System.out.println(Arrays.toString(myArray4));
   }
}

Output

[[7, 9, 8, 5], [4, 5, 1, 8], [9, 3, 2, 7], [8, 1, 0, 9]]
[7, 9, 8, 5]
[4, 5, 1, 8]
[9, 3, 2, 7]
[8, 1, 0, 9]
raja
Published on 09-Jan-2018 12:09:52
Advertisements