Sobes.tech
Junior — Middle
95

ArrayList ішіндегі оның ішкі құрылымында элементтерді жою процедурасы нақты қалай жүзеге асырылады?

Сұралған компаниялар
ВТБВТБ

AI-дан жауап

sobes.tech AI

ArrayList ішіндегі элементтер массивте сақталады. Элементті индекс бойынша жою кезінде барлық кейінгі элементтер бір орынға солға жылжиды, бос орын толтырылуы үшін. Тізімнің өлшемі 1-ге азаяды, ал массивтің соңғы элементі сілтемені босату және жады ағып кетуін болдырмау үшін null-ға орнатылады.

Жоюдың қарапайым мысалы:

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;
}