Mảng đa chiều trong java

0 phút đọc

Mảng đa chiều có thể định nghĩa đơn giản là mảng của mảng, dữ liệu bên trong một phần tử của mảng là một mảng.

<Kiểu dữ liệu>[][][]..[] <tên mảng> = new <kiểu dữ liệu>[<kích thước thứ 1>][<kích thước thứ 2>]….[<kích thước thứ n>];

Trong đó:

  • Kiểu dữ liệu: Kiểu dữ liệu của mảng, ví dụ int, char, double etc.
  • Tên mảng: Tên mảng
  • Kích thước thứ 1, kích thước thứ 2, …, kích thước thứ n: Kích thước mảng tương ứng
// Mảng 2 chiều
int[][] mang1 = new int[10][20];
// Mảng 3 chiều
int[][][] mang2 = new int[10][20][30];

Trong đó:

  • Đối với mảng 2 chiều mang1, là một mảng 10 phần tử, với mỗi phần tử là một mảng gồm 20 phần tử.
  • Đối với mảng 3 chiều mang2, là 1 mảng 10 phần tử, mỗi phần tử là một mảng 20 phần tử, trong 20 phần tử này mỗi phần tử lại là một mảng 30 phần tử.

Ngoài ra chúng ta có thể khởi tạo mảng và trực tiếp giá trị cho từng phần tử trong mảng đa chiều như sau

<Kiểu dữ liệu>[][] <tên mảng> = {
  {giaTriR1C1, giaTriR1C2, ....},
  {giaTriR2C1, giaTriR2C2, ....}
};
Ví dụ: int[][] arr = {{1, 2}, {3, 4}};

Cách tính số phần tử trong mảng đa chiều

Tổng số phần tử được lưu trong mảng đa chiều được tính bằng tích kích thước của từng mảng bên trong mảng đa chiều. Ví dụ

  mang1[10][20] // kích thước là 10 * 20 = 200 phần tử
  mang2[10][20][30] // kích thước là 10 * 20 *30 = 6000 phần tử

Truy xuất ngẫu nhiên trong mảng đa chiều

Ví dụ để truy xuất ngẫu nhiên một phần tử trong mảng 2 chiều sử dụng cú pháp

  <Tên mảng>[<Vị trí hàng>][<Vị trí cột>]
Mảng đa chiều trong java
class Thaycacac {
  public static void main(String[] args) {
    int[][] arr = { { 1, 2 }, { 3, 4 } };
    for (int i = 0; i < 2; i++)
      for (int j = 0; j < 2; j++)
        System.out.println("arr[" + i + "][" + j + "] = " + arr[i][j]);
  }
}

Kết quả

arr[0][0] = 1
arr[0][1] = 2
arr[1][0] = 3
arr[1][1] = 4

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào

Avatar TechMely Team
Được viết bởi

TechMely Team

Ta không thể bắt đầu lại nhưng ta có thể mở đầu bây giờ và làm nên một kết thúc mới.