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


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]

Updated on: 19-Feb-2020

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements