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