Khai báo và khởi tạo mảng 2 chiều (two dimensional array) trong Java

Đây là bài 19/62 bài của series môn học Ngôn ngữ lập trình Java

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ề.

4.2/5 - (5 bình chọn)
Bài trước và bài sau trong môn học<< Kỹ thuật lập trình với mảng 1 chiều trong JavaKỹ thuật lập trình với mảng 2 chiều trong Java >>
Chia sẻ trên mạng xã hội:

Trả lời

Lưu ý:

1) Vui lòng bình luận bằng tiếng Việt có dấu.

2) Khuyến khích sử dụng tên thật và địa chỉ email chính xác.

3) Mọi bình luận trái quy định sẽ bị xóa bỏ.