Как устроен ArrayList?

Ответ

Динамический массив. При нехватке места создаёт новый массив в 1.5 раза больше и копирует через Arrays.copyOf.

Разбор: ArrayList — это динамический массив, который при нехватке места создаёт новый массив примерно в 1.5 раза больше (newCapacity = oldCapacity + oldCapacity>>1) и копирует элементы. Ловушки: связный список — это LinkedList, а не ArrayList; коэффициент роста именно 1.5, а не 2; и ArrayList сам расширяется, а не бросает исключение при достижении начальной ёмкости.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться