Multi-dimensional Arrays in Java


In Java, multi-dimensional arrays are arrays of arrays. They can store data in more than one dimension. The most common types are two-dimensional (2D) and three-dimensional (3D) arrays, but arrays with more than three dimensions are also possible.

1. Declaring a Multi-dimensional Array

To declare a multi-dimensional array in Java, specify the type of the elements and use multiple sets of square brackets. Here's the syntax for a two-dimensional array:

    type[][] arrayName;
        

For example, if you want to create a two-dimensional array of integers:

    int[][] matrix;
        

Example 1: Declaring a Two-dimensional Array

In this example, we declare a two-dimensional array of integers:

    public class Main {
        public static void main(String[] args) {
            // Declare a two-dimensional array
            int[][] matrix;
        }
    }
        

2. Initializing a Two-dimensional Array

You can initialize a multi-dimensional array in the same way as a one-dimensional array, but you specify the size for each dimension. Here's the syntax for initialization:

    arrayName = new type[rows][columns];
        

Example 2: Initializing a Two-dimensional Array

In this example, we initialize a two-dimensional array with 3 rows and 4 columns:

    public class Main {
        public static void main(String[] args) {
            // Initialize a 2D array with 3 rows and 4 columns
            int[][] matrix = new int[3][4];
    
            // Assign values to the array
            matrix[0][0] = 1;
            matrix[0][1] = 2;
            matrix[0][2] = 3;
            matrix[0][3] = 4;
            matrix[1][0] = 5;
            matrix[1][1] = 6;
            matrix[1][2] = 7;
            matrix[1][3] = 8;
            matrix[2][0] = 9;
            matrix[2][1] = 10;
            matrix[2][2] = 11;
            matrix[2][3] = 12;
    
            // Print the matrix
            for (int i = 0; i < matrix.length; i++) {
                for (int j = 0; j < matrix[i].length; j++) {
                    System.out.print(matrix[i][j] + " ");
                }
                System.out.println();
            }
        }
    }
        

Output:

    1 2 3 4 
    5 6 7 8 
    9 10 11 12 
        

3. Initializing a Two-dimensional Array with Values

You can also initialize a two-dimensional array at the time of declaration using curly braces.

Example 3: Initializing a Two-dimensional Array with Values

In this example, we initialize the array with values directly:

    public class Main {
        public static void main(String[] args) {
            // Declare and initialize a 2D array
            int[][] matrix = {
                {1, 2, 3, 4},
                {5, 6, 7, 8},
                {9, 10, 11, 12}
            };
    
            // Print the matrix
            for (int i = 0; i < matrix.length; i++) {
                for (int j = 0; j < matrix[i].length; j++) {
                    System.out.print(matrix[i][j] + " ");
                }
                System.out.println();
            }
        }
    }
        

Output:

    1 2 3 4 
    5 6 7 8 
    9 10 11 12 
        

4. Accessing Elements in a Two-dimensional Array

You can access elements in a two-dimensional array using row and column indices. The first index is for the row, and the second index is for the column.

Example 4: Accessing Elements in a Two-dimensional Array

In this example, we access specific elements of the two-dimensional array:

    public class Main {
        public static void main(String[] args) {
            // Declare and initialize a 2D array
            int[][] matrix = {
                {1, 2, 3, 4},
                {5, 6, 7, 8},
                {9, 10, 11, 12}
            };
    
            // Access and print specific elements
            System.out.println("Element at [0][0]: " + matrix[0][0]);
            System.out.println("Element at [1][2]: " + matrix[1][2]);
            System.out.println("Element at [2][3]: " + matrix[2][3]);
        }
    }
        

Output:

    Element at [0][0]: 1
    Element at [1][2]: 7
    Element at [2][3]: 12
        

5. Iterating Over a Two-dimensional Array

You can use nested loops to iterate over the elements of a two-dimensional array. The outer loop iterates over the rows, and the inner loop iterates over the columns.

Example 5: Iterating Over a Two-dimensional Array

In this example, we use nested for loops to print all elements of the matrix:

    public class Main {
        public static void main(String[] args) {
            // Declare and initialize a 2D array
            int[][] matrix = {
                {1, 2, 3, 4},
                {5, 6, 7, 8},
                {9, 10, 11, 12}
            };
    
            // Iterate over the matrix using nested loops
            for (int i = 0; i < matrix.length; i++) {
                for (int j = 0; j < matrix[i].length; j++) {
                    System.out.print(matrix[i][j] + " ");
                }
                System.out.println();
            }
        }
    }
        

Output:

    1 2 3 4 
    5 6 7 8 
    9 10 11 12 
        

6. Three-dimensional Arrays

In addition to two-dimensional arrays, you can create three-dimensional arrays in Java. A three-dimensional array is an array of arrays of arrays. The syntax is similar to the two-dimensional array but with an additional set of square brackets.

Example 6: Declaring and Initializing a Three-dimensional Array

In this example, we declare and initialize a three-dimensional array:

    public class Main {
        public static void main(String[] args) {
            // Declare and initialize a 3D array with 2 matrices, 3 rows, and 2 columns
            int[][][] matrix = {
                {
                    {1, 2},
                    {3, 4},
                    {5, 6}
                },
                {
                    {7, 8},
                    {9, 10},
                    {11, 12}
                }
            };
    
            // Print the 3D array
            for (int i = 0; i < matrix.length; i++) {
                System.out.println("Matrix " + (i+1) + ":");
                for (int j = 0; j < matrix[i].length; j++) {
                    for (int k = 0; k < matrix[i][j].length; k++) {
                        System.out.print(matrix[i][j][k] + " ");
                    }
                    System.out.println();
                }
            }
        }
    }
        

Output:

    Matrix 1:
    1 2 
    3 4 
    5 6 
    Matrix 2:
    7 8 
    9 10 
    11 12 
        

7. Conclusion

Multi-dimensional arrays in Java are powerful tools for organizing and managing complex data. By using nested arrays, you can store and manipulate data in two or more dimensions. With proper indexing and iteration, you can access and modify elements in multi-dimensional arrays efficiently.





Advertisement