Назад к вопросам
Junior — Middle
63
Какова внутренняя реализация метода добавления элемента в ArrayList?
Ответ от нейросети
sobes.tech AI
При добавлении элемента в ArrayList происходит следующее:
- Проверяется, достаточно ли текущей внутренней емкости массива для добавления нового элемента.
- Если емкости недостаточно, создаётся новый массив с увеличенным размером (обычно примерно в 1.5 раза больше), и все элементы копируются в него.
- Новый элемент помещается в первую свободную позицию.
- Размер списка (count) увеличивается на 1.
Пример упрощённой реализации метода add:
public boolean add(E e) {
if (size == elementData.length) {
grow(); // увеличиваем массив
}
elementData[size++] = e;
return true;
}
private void grow() {
int newCapacity = elementData.length + (elementData.length >> 1);
elementData = Arrays.copyOf(elementData, newCapacity);
}