Menu
Coddy logo textTech

Рваные массивы

Часть раздела Логика и управление потоком путешествия по Java на Coddy — урок 6 из 59.

Ступенчатый массив — это специальный тип двумерного массива, в котором каждая строка может иметь разное количество столбцов. Другими словами, это массив массивов, и каждый «inner» массив может иметь разную длину. Это отличается от обычного двумерного массива, где все строки имеют одинаковое количество столбцов, образуя прямоугольную форму.

Зубчатые массивы полезны, когда нужно хранить данные, которые не укладываются аккуратно в прямоугольную сетку. Например, зубчатый массив можно использовать для хранения слов в каждом предложении абзаца, где каждое предложение имеет разное количество слов.

Вот как объявить и инициализировать зубчатый массив в Java:

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

// Initialize each row with a different number of columns
array_name[0] = new data_type[number_of_columns_in_row_0];
array_name[1] = new data_type[number_of_columns_in_row_1];
// ... and so on

Обратите внимание, что когда вы впервые объявляете массив, вы указываете только количество строк. Затем вы инициализируете каждую строку отдельно, указывая количество столбцов для этой строки.

challenge icon

Задание

Легко

Создайте метод с именем createJaggedArray, который принимает целое число n в качестве входного параметра и возвращает рваный массив целых чисел. Рваный массив должен иметь следующую структуру:

  1. Первая строка должна содержать 1 элемент.
  2. Вторая строка должна содержать 2 элемента.
  3. Третья строка должна содержать 3 элемента.
  4. И так далее, до строки n, которая должна содержать n элементов.

Инициализируйте каждый элемент массива произведением индексов его строки и столбца (начиная с 1). Например, элемент во второй строке и первом столбце должен иметь значение 2 * 1 = 2.

Шпаргалка

Рваный массив — это двумерный массив, в котором каждая строка может иметь разное количество столбцов, в отличие от обычных двумерных массивов, где все строки имеют одинаковую длину.

Чтобы объявить и инициализировать рваный массив:

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

// Initialize each row with a different number of columns
array_name[0] = new data_type[number_of_columns_in_row_0];
array_name[1] = new data_type[number_of_columns_in_row_1];
// ... and so on

При объявлении рваного массива вы указываете только количество строк изначально, затем инициализируете каждую строку отдельно с её конкретным количеством столбцов.

Попробуйте сами

// Пишите свой код только внутри класса. Не пишите main() или любой код вне этого класса.
class CreateJaggedArray {
    public static int[][] createJaggedArray(int n) {
        // Напишите свой код здесь
    }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком