Mảng đa chiều trong java

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>]

mang-da-chieu-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
Avatar Administrator

Administrator

@thaycacac
Bạn cần sức mạnh, nghị lực nên cuộc sống đã đặt ra những khó khăn nghịch cảnh để bạn vượt qua và trở nên mạnh mẽ hơn.
Logo thể loại Java

Java

Chuyên mục học lập trình
Học Java từ cơ bản đến thông thạo cho mọi đối tượng
hello