Что происходит при замене элемента в массиве Java?

«Что происходит при замене элемента в массиве Java?» — вопрос из категории Java Core, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Замена элемента массива — это операция замены значения по конкретному индексу. Размер массива при этом не изменяется.

Базовый пример:

int[] numbers = {1, 2, 3, 4, 5};
numbers[2] = 99;  // Заменяем элемент с индексом 2
System.out.println(Arrays.toString(numbers));
// Вывод: [1, 2, 99, 4, 5]

Для массивов объектов:

String[] names = {"Alice", "Bob", "Charlie"};
names[1] = "Robert";  // Заменяем "Bob" на "Robert"
// Массив теперь: ["Alice", "Robert", "Charlie"]

Опасности и исключения:

  1. ArrayIndexOutOfBoundsException:

    int[] arr = new int[5];
    arr[5] = 10;  // Исключение! Допустимые индексы: 0-4
  2. Неизменяемость размера:

    int[] fixedSize = new int[3];
    fixedSize[3] = 100;  // Невозможно добавить элемент
    // Для изменения размера нужно создать новый массив

Практическое применение:

// Обновление элемента в цикле
for (int i = 0; i < array.length; i++) {
    if (array[i] == oldValue) {
        array[i] = newValue;  // Замена значения
    }
}

// Многомерные массивы
int[][] matrix = new int[3][3];
matrix[1][2] = 42;  // Замена элемента во второй строке, третьем столбце

Ключевые моменты:

  • Массивы имеют фиксированную длину после создания
  • Замена выполняется за O(1) — постоянное время
  • Для примитивных типов заменяется значение, для объектов — ссылка