Sobes.tech
Junior — Middle
104

Hoe wordt de procedure voor het verwijderen van elementen uit ArrayList binnen de interne structuur precies geïmplementeerd?

Bedrijven waar gevraagd werd
ВТБВТБ

Antwoord van AI

sobes.tech AI

Внутри ArrayList элементы хранятся в массиве. При удалении элемента по индексу происходит сдвиг всех последующих элементов на одну позицию влево, чтобы заполнить освободившееся место. Размер списка уменьшается на 1, а последний элемент массива обнуляется для освобождения ссылки и предотвращения утечки памяти.

Пример упрощённого кода удаления:

public E remove(int index) {
    E oldValue = elementData[index];
    int numMoved = size - index - 1;
    if (numMoved > 0) {
        System.arraycopy(elementData, index + 1, elementData, index, numMoved);
    }
    elementData[--size] = null; // освобождаем ссылку
    return oldValue;
}