Mảng đa chiều trong Java

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về mảng đa chiều Java sử dụng mảng 2 chiều và mảng 3 chiều với sự trợ giúp của các ví dụ.

Trước khi chúng ta tìm hiểu về mảng đa chiều, hãy đảm bảo rằng bạn đã biết về mảng Java .

Mảng nhiều chiều là một mảng của các mảng. Mỗi phần tử của mảng nhiều chiều là một mảng chính nó. Ví dụ,

int[][] a = new int[3][4];

Ở đây, chúng ta đã tạo một mảng nhiều chiều có tên là a . Đây là một mảng 2 chiều, có thể chứa tối đa 12 phần tử,Mảng 2 chiều

Hãy nhớ rằng, Java sử dụng lập chỉ mục dựa trên số 0, nghĩa là, việc lập chỉ mục các mảng trong Java bắt đầu bằng 0 chứ không phải 1.

Hãy lấy một ví dụ khác về mảng đa chiều. Lần này chúng ta sẽ tạo một mảng 3 chiều. Ví dụ,

String[][][] data = new String[3][4][2];

Ở đây, dữ liệu là một mảng 3d có thể chứa tối đa 24 (3 * 4 * 2) phần tử cùng loại String.

Làm thế nào để khởi tạo một mảng 2d trong Java?

Đây là cách chúng ta có thể khởi tạo mảng 2 chiều trong Java.

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

Như chúng ta có thể thấy, mỗi phần tử của mảng đa chiều là một mảng chính nó. Ngoài ra, không giống như C / C ++, mỗi hàng của mảng đa chiều trong Java có thể có độ dài khác nhau.Khởi tạo mảng 2 chiều

Ví dụ: Mảng 2 chiều

class MultidimensionalArray {
    public static void main(String[] args) {

        // create a 2d array
        int[][] a = {
            {1, 2, 3}, 
            {4, 5, 6, 9}, 
            {7}, 
        };
      
        // calculate the length of each row
        System.out.println("Length of row 1: " + a[0].length);
        System.out.println("Length of row 2: " + a[1].length);
        System.out.println("Length of row 3: " + a[2].length);
    }
}

Đầu ra :

Length of row 1: 3
Length of row 2: 4
Length of row 3: 1

Trong ví dụ trên, chúng ta đang tạo một mảng đa chiều có tên là a . Vì mỗi thành phần của một mảng đa chiều cũng là một mảng ( a[0]a[1]và a[2]cũng là mảng).

Ở đây, chúng tôi đang sử dụng lengththuộc tính để tính độ dài của mỗi hàng.

Ví dụ: In tất cả các phần tử của mảng 2d bằng cách sử dụng vòng lặp

class MultidimensionalArray {
    public static void main(String[] args) {

        int[][] a = {
            {1, -2, 3}, 
            {-4, -5, 6, 9}, 
            {7}, 
        };
      
        for (int i = 0; i < a.length; ++i) {
            for(int j = 0; j < a[i].length; ++j) {
                System.out.println(a[i][j]);
            }
        }
    }
}

Đầu ra :

1
-2
3
-4
-5
6
9
7

Chúng ta cũng có thể sử dụng vòng lặp for … each để truy cập các phần tử của mảng đa chiều. Ví dụ,

class MultidimensionalArray {
    public static void main(String[] args) {

        // create a 2d array
        int[][] a = {
            {1, -2, 3}, 
            {-4, -5, 6, 9}, 
            {7}, 
        };
      
        // first for...each loop access the individual array
        // inside the 2d array
        for (int[] innerArray: a) {
            // second for...each loop access each element inside the row
            for(int data: innerArray) {
                System.out.println(data);
            }
        }
    }
}

Đầu ra :

1
-2
3
-4
-5
6
9
7

Trong ví dụ trên, chúng ta đã tạo một mảng 2d có tên là a . Sau đó, chúng tôi sử dụng forvòng lặp và for...eachvòng lặp để truy cập từng phần tử của mảng.

Làm thế nào để khởi tạo một mảng 3d trong Java?

Hãy xem cách chúng ta có thể sử dụng mảng 3d trong Java. Chúng ta có thể khởi tạo mảng 3d tương tự như mảng 2d. Ví dụ,

// test is a 3d array
int[][][] test = {
        {
          {1, -2, 3}, 
          {2, 3, 4}
        }, 
        { 
          {-4, -5, 6, 9}, 
          {1}, 
          {2, 3}
        } 
};

Về cơ bản, mảng 3d là một mảng gồm các mảng 2d. Các hàng của mảng 3d cũng có thể thay đổi độ dài giống như trong mảng 2d.

Ví dụ: Mảng 3 chiều

class ThreeArray {
    public static void main(String[] args) {

        // create a 3d array
        int[][][] test = {
            {
              {1, -2, 3}, 
              {2, 3, 4}
            }, 
            { 
              {-4, -5, 6, 9}, 
              {1}, 
              {2, 3}
            } 
        };

        // for..each loop to iterate through elements of 3d array
        for (int[][] array2D: test) {
            for (int[] array1D: array2D) {
                for(int item: array1D) {
                    System.out.println(item);
                }
            }
        }
    }
}

Đầu ra :

1
-2
3
2
3
4
-4
-5
6
9
1
2
3








Gõ tìm kiếm nhanh...