Multidimensional Arrays

  • Matrices

  • N-dimentional arrays

  • Jagged/Ragged Arrays

Matrices

  • 2-dimensional arrays

  • get position of an element by combining indexes from each dimension

  • separate index for each dimention

mat[row][col]
int[][] mat = {
    { 1, 2, 3, 4 },
    { 5, 6, 7, 8 },
    { 9, 0, 1, 2 },
    { 3, 4, 5, 6 }
};

Matrix array initializer

Scanner s = new Scanner(System.in);

int[][] mat = new int[3][3];
for (int row = 0; row < rows; row++) {
    for (int col = 0; col < cols; col++) {
        mat[row][col] = s.nextInt();
    }
}

Input a matrix from console

Matrix array sizes

  • length of rows is obtained via:

  • length of columns is obtained via:

mat.length
mat[i].length
i - index of the current column

N-dimensional arrays

N-dimensional arrays

int[][][] cube = 
{  
        { 
            {1,   2,  3}, { 4,  5,  6}, { 7,  8,  9}
        },
        { 
            {10, 11, 12}, {13, 14, 15}, {16, 17, 18}
        },
        { 
            {19, 20, 21}, {22, 23, 24}, {25, 26, 27} 
        } 
};

3d array initializer

N-dimensional arrays

int[][][] cube = new int[3][3][3];

Scanner s = new Scanner(System.in);

for (int i = 0; i < cube.length; i++) {
    for (int j = 0; j < cube[i].length; j++) {
        for (int k = 0; k < cube[i][j].length; k++) {
            cube[i][j][k] = s.nextInt();
        }
    }
}

Input 3d (cube) array

Jagged/Ragged Arrays

Jagged array array initializer

int[][] jaggedArr = {
    {1, 2, 3, 4},
    {5, 6, 7},
    {8, 9},
    {10}
};

Input jagged array from console

int[][] jaggedArr = new jaggedArr[3][];
jaggedArr[0] = new int[4];
jaggedArr[1] = new int[3];
jaggedArr[2] = new int[2];

Scanner s = new Scanner(System.in);

for (int i = 0; i < jaggedArr.length; i++) {
    for (int j = 0; j < jaggedArr[i].length; j++) {
        jaggedArr[i][j] = s.nextInt();
    }
}

Questions?!

Multidimensional Arrays

By Tsvetan Dimitrov

Multidimensional Arrays

  • 358