Menu
Coddy logo textTech

Доступ к элементам 2D-массива

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

Доступ к элементам в двумерном массиве похож на доступ к элементам в одномерном массиве, но вместо одного индекса используются два индекса: один для строки и один для столбца. Помните, что индексы в Java начинаются с 0, поэтому первая строка имеет индекс 0, вторая строка — индекс 1 и так далее. Аналогично, первый столбец имеет индекс 0, второй столбец — индекс 1 и так далее.

Чтобы получить доступ к элементу, сначала укажите индекс строки, а затем индекс столбца, используя следующий синтаксис:

arrayName[rowIndex][columnIndex]

Например, чтобы получить доступ к элементу во второй строке (индекс 1) и третьем столбце (индекс 2) двумерного массива с именем matrix, вы напишете:

int element = matrix[1][2];

Это присвоит значение элемента в строке 1, столбце 2 переменной element.

Получение размеров двумерного массива:

Как и для одномерных массивов, вы можете использовать .length для получения размеров двумерного массива:

int[][] matrix = {
    {1, 2, 3},
    {4, 5, 6}
};
int numRows = matrix.length;        // Gets number of rows: 2
int numCols = matrix[0].length;     // Gets number of columns: 3
  • matrix.length возвращает количество строк
  • matrix[0].length возвращает количество столбцов в первой строке

Проверка границ:

Перед доступом к элементу хорошей практикой является проверка валидности индексов:

if (rowIndex >= 0 && rowIndex < matrix.length && 
    colIndex >= 0 && colIndex < matrix[0].length) {
    // Safe to access matrix[rowIndex][colIndex]
}
challenge icon

Задание

Легко

Создайте метод с именем getElement, который принимает три аргумента:

  1. Двумерный массив целых чисел с именем matrix.
  2. Целое число rowIndex, представляющее индекс строки.
  3. Целое число colIndex, представляющее индекс столбца.

Метод должен возвращать элемент в указанной строке и столбце в matrix. Если rowIndex или colIndex выходит за границы (т. е. меньше 0 или больше или равно количеству строк или столбцов), метод должен возвращать -1.

Шпаргалка

Чтобы получить доступ к элементам в двумерном массиве, используйте два индекса: один для строки и один для столбца. Индексы начинаются с 0.

Синтаксис:

arrayName[rowIndex][columnIndex]

Пример:

int element = matrix[1][2]; // Получает элемент в строке 1, столбце 2

вы можете использовать .length для получения размеров двумерного массива:

int[][] matrix = {
    {1, 2, 3},
    {4, 5, 6}
};
int numRows = matrix.length;        // Получает количество строк: 2
int numCols = matrix[0].length;     // Получает количество столбцов: 3

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

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

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

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