Menu
CoddyTech

Mảng không đều

Thuộc phần Logic và luồng chương trình trong hành trình Java của Coddy. Bài học 6 trên 59.

Mảng răng cưa là một kiểu mảng 2D đặc biệt, trong đó mỗi hàng có thể có số cột khác nhau. Nói cách khác, đây là một mảng gồm các mảng, và mỗi mảng “bên trong” có thể có độ dài khác nhau. Mảng này khác với mảng 2D thông thường, trong đó tất cả các hàng đều có cùng số cột, tạo thành hình chữ nhật.

Mảng không đều rất hữu ích khi bạn cần lưu trữ dữ liệu không vừa vặn trong một lưới hình chữ nhật. Ví dụ, bạn có thể dùng mảng không đều để lưu các từ trong từng câu của một đoạn văn, trong đó mỗi câu có số từ khác nhau.

Đây là cách bạn khai báo và khởi tạo một mảng răng cưa trong Java:

data_type[][] array_name = new data_type[number_of_rows][];

// Khởi tạo mỗi hàng với số cột khác nhau
array_name[0] = new data_type[number_of_columns_in_row_0];
array_name[1] = new data_type[number_of_columns_in_row_1];
// ... và tiếp tục tương tự

Lưu ý rằng khi khai báo mảng lần đầu, bạn chỉ xác định số hàng. Sau đó, bạn khởi tạo riêng từng hàng và xác định số cột cho hàng đó.

challenge icon

Thử thách

Dễ

Tạo một phương thức tên là createJaggedArray, nhận một số nguyên n làm đầu vào và trả về một mảng răng cưa gồm các số nguyên. Mảng răng cưa cần có cấu trúc như sau:

  1. Hàng đầu tiên có 1 phần tử.
  2. Hàng thứ hai có 2 phần tử.
  3. Hàng thứ ba có 3 phần tử.
  4. Và cứ tiếp tục như vậy, cho đến hàng thứ n, có n phần tử.

Khởi tạo mỗi phần tử của mảng bằng tích của chỉ số hàng và chỉ số cột tương ứng (bắt đầu từ 1). Ví dụ, phần tử ở hàng thứ hai và cột thứ nhất có giá trị 2 * 1 = 2.

Tự làm thử

// Chỉ viết code bên trong lớp. Không viết main() hoặc bất kỳ code nào bên ngoài lớp này.
class CreateJaggedArray {
    public static int[][] createJaggedArray(int n) {
        // Viết code tại đây
    }
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch Java online