Mục lục bài viết

1. Khai báo và khởi tạo mảng 2 chiều

Mảng hai chiều (two dimensional array) trong Java dùng để lưu trữ dữ liệu dưới dạng ma trận gồm nhiều dòng và nhiều cột. Mảng 2 chiều lưu trữ các phần tử theo dạng bảng gồm dòng và cột.

Mảng 2 chiều trong Java

Có thể hình dùng mảng 2 chiều ở trên như là một bảng gồm 3 dòng và 4 cột. Mỗi dòng thì lưu trữ như mảng một chiều.

Cú pháp khai báo mảng 2 chiều:

elementType[][] arrayRefVar;
hoặc
elementType arrayRefVar[][];

Ví dụ: Khai báo một biến mảng ma trận hai chiều lưu các giá trị kiểu int.

int[][] matrix;
hoặc
int matrix[][];

Cấp phát vùng nhớ cho mảng 2 chiều

int[][] a;
a = new int[3][4];
Mảng 2 chiều trong Java

Chỉ số của dòng và cột của mảng 2 chiều trong Java bắt đầu từ 0. Ví dụ, phần tử dòng 1, cột 1 là a[0][0].

Khởi tạo mảng 2 chiều

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

Ở ví dụ trên, chúng ta tạo ra một mảng 2 chiều tên là arr và khởi tạo các phần tử của mảng trong dấu ngoặc nhọn {}. Mảng 2 chiều arr gồm 3 dòng và 4 cột.

Chúng ta cũng có thể khởi tạo mảng 2 chiều bằng cách gán giá trị cho từng phần tử trong mảng thông qua chỉ số dòng và chỉ số cột.

int[][] arr = new int[3][4];
arr[0][0]=1; arr[0][1]=2; arr[0][2]=3; arr[0][3]=0;
arr[1][0]=4; arr[1][1]=5; arr[1][2]=6; arr[1][3]=9;
arr[2][0]=7; arr[2][1]=2; arr[2][2]=5; arr[2][3]=5;

2. Kích thước của mảng 2 chiều trong Java

Mảng hai chiều là một mảng mà mỗi phần tử là một mảng một chiều.

x.length;
x[0].length;
x[1].length;
x[2].length;
Kích thước mảng 2 chiều trong Java

3. Mảng gồ ghề (jagged array) trong Java

Mỗi dòng của một mảng 2 chiều trong Java là một mảng đơn. Vì vậy, mỗi dòng có thể có độ dài khác nhau. Một mảng như vậy được gọi là mảng gồ ghề (jagged array).

int[][] a = {
      {1, 2, 3}, 
      {4, 5, 6, 9}, 
      {7}, 
};
Mảng gồ ghề (jagged array) trong Java

Trong mảng trên, a[0].length = 3, a[1].length = 4, a[2].length = 1. Các dòng trong mảng có số lượng phần tử khác nhau. Mảng a là một mảng gồ ghề.

Tác giả

Vinh Lê

Giảng viên CNTT, chia sẻ tutorial lập trình & phần cứng tại Góc Học IT. Hơn 500 bài viết hướng dẫn từ cơ bản đến nâng cao.

Gợi ý tiếp theo

Kỹ thuật lập trình với mảng 2 chiều trong Java

Học tiếp