Multidimensional Arrays and Their Traversal in Java

Topic Overview

Welcome to today's session on "Multidimensional Arrays and Their Traversal in Java". Multidimensional arrays are types of arrays that store arrays at each index instead of single elements. Picture it as an 'apartment building' with floors (the outer array) and apartments on each floor (the inner array). Our goal today is to strengthen your foundational knowledge of these 'apartment buildings' and how to handle them effectively in Java.

Creating Multidimensional Arrays

To construct a multidimensional array in Java, we use arrays of arrays. Here are examples to demonstrate how to create and work with 2D static arrays.

import java.util.Arrays;

class Solution {
    public static void main(String[] args) {
        // Creating a 2D array
        int[][] array = {
            {1, 2, 3},
            {4, 5, 6},
            {7, 8, 9}
        };

        // Printing the 2D array
        System.out.println(Arrays.deepToString(array));
    }
}

Indexing in Multidimensional Arrays

All indices in Java arrays are 0-based. Let's say you want to visit an apartment on the second floor (index 1) and bring a package to the first unit (index 0) in this building. Here's how you can do it:

class Solution {
    public static void main(String[] args) {
        int[][] array = {
            {1, 2, 3},
            {4, 5, 6},
            {7, 8, 9}
        };

        // Accessing an element
        System.out.println(array[1][0]);  // Outputs: 4
    }
}

We visited the element 4 in the array by its position. The number [1] refers to the second inner array, and [0] refers to the first element of that array.

Traversing Multidimensional Arrays

We can visit every floor (outer array) and every apartment on each floor (inner array) by using nested loops.

class Solution {
    public static void main(String[] args) {
        String[][] array = {
            {"Apt 101", "Apt 102", "Apt 103"},
            {"Apt 201", "Exit Floor", "Apt 203"},
            {"Apt 301", "Apt 302", "Apt 303"}
        };

        // Loop through 2D array
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                System.out.print(array[i][j] + ", ");
            }
            System.out.println();
        }
    }
}

/*
Prints:
Apt 101, Apt 102, Apt 103,
Apt 201, Exit Floor, Apt 203,
Apt 301, Apt 302, Apt 303,
*/
Sign up

Join the 1M+ learners on CodeSignal

Be a part of our community of 1M+ users who develop and demonstrate their skills on CodeSignal