Mục lục:
Video: [Giải Bài Tập Luyện Tư Duy Lập Trình - Giải Thuật] - Bombs (Dò Mìn) - ICTU.OLP.CACHHOC.NET 2025
Trong Java, các phần tử của một mảng có thể là bất kỳ loại đối tượng nào bạn muốn, kể cả mảng khác. Đây được gọi là mảng hai chiều - hoặc (đôi khi) mảng các mảng .
Mảng hai chiều
Để khai báo một mảng hai chiều, bạn chỉ cần liệt kê hai bộ khung trống, như sau:
số int [] [];
Ở đây, các con số là một mảng hai chiều kiểu int. Để đặt nó một cách khác, số là một mảng các mảng int.
Để tạo mảng, bạn sử dụng từ khóa mới và cung cấp độ dài cho mỗi bộ khung, như trong ví dụ này:
numbers = new int [10] [10];
Ở đây, thứ nguyên đầu tiên xác định rằng mảng số có 10 phần tử. Khía cạnh thứ hai xác định rằng mỗi yếu tố chính là một mảng với 10 phần tử.
Để truy cập vào các phần tử của một mảng hai chiều, bạn sử dụng hai chỉ mục. Ví dụ:
int [5] [7] = 23853;
Thông thường, lồng nhau cho các vòng lặp được sử dụng để xử lý các phần tử của một mảng hai chiều, như trong ví dụ này:
for (int x = 0; x <10; x ++) {for (int y = 0; y = "x"> y) = (int) (Toán học ngẫu nhiên () * 100) + 1}}
Bạn có thể sử dụng một mảng initializer với một mảng hai chiều, như trong này Ví dụ:
thành viên chuỗi [] [] = {{"Larry", "Curly", "Moe"}, {Manny "," Moe "," Jack "}," Huey "," Dewey " "Louie"}} {25483. 0, 22943. 0, 38274. 0, 33294. 0}, // 2005 {24872. 0, 23049. 0, 39002. 0, 36888. 0}, // 2006 {28492. 0, 23784. 0, 42374. 0, 39573. 0}, // 2007 {31932. 0, 23732. 0, 42943. 0, 41734. 0}}; / / 2008
Khi bạn tạo một mảng với một biểu thức - chẳng hạn như new int [5] [3] - bạn đang xác định rằng mỗi phần của mảng chính thực sự là một mảng kiểu int với ba phần tử. Java, tuy nhiên, cho phép bạn tạo các mảng hai chiều, trong đó chiều dài của mỗi phần tử của mảng chính là khác nhau. Đôi khi, điều này được gọi là mảng mập mờ vì mảng không tạo thành một hình chữ nhật đẹp. Thay vào đó, các cạnh của nó bị kẹt.
Mảng có nhiều hơn hai chiều
Java không giới hạn bạn đến các mảng hai chiều. Mảng có thể được lồng trong mảng đến nhiều cấp độ như chương trình của bạn cần. Để khai báo một mảng có nhiều hơn hai chiều, bạn chỉ cần chỉ định như nhiều bộ khung rỗng như bạn cần. Ví dụ:
int [] [] [] threeD = new int [3] [3] [3];
Tại đây, một mảng ba chiều được tạo ra, với mỗi chiều có ba phần tử. Bạn có thể nghĩ mảng này như một khối lập phương. Mỗi phần tử đòi hỏi ba chỉ mục để truy cập.
Bạn có thể truy cập vào một phần tử trong một mảng đa chiều bằng cách chỉ định nhiều chỉ mục như mảng cần.Ví dụ:
baD [0] [1] [2] = 100;
Câu lệnh này đặt phần tử 2 ở cột 1 của hàng 0 đến 100.
Bạn có thể tổ hợp các giá trị khởi tạo càng sâu càng cần thiết. Ví dụ:
int [] [] [] threeD = {{{1,2,4}, {, {13, 14, 15}, {16, 17, 18}}, {{19, 20, 21}, {22, 23, 24}, {25, 26, 27}}};
Ở đây, một mảng ba chiều được khởi tạo với các con số từ 1 đến 27.
Bạn cũng có thể sử dụng nhiều câu lệnh if lồng nhau để xử lý một mảng có ba kích thước hoặc nhiều hơn. Đây là một cách khác để khởi tạo mảng ba chiều với số từ 1 đến 27:
int [] [] [] threeD2 = new int [3] [3] [3]; giá trị int = 1; (j = 0, j