Java Core trainee

Какие реализации List ты знаешь?

Ответ

ArrayList — на основе массива. Доступ по индексу O(1), вставка в конец амортизированно O(1), в середину O(n). Самая популярная. LinkedList — двусвязный список. Доступ по индексу O(n), но вставка/удаление по найденному узлу O(1).

Разбор: ArrayList основан на массиве: индексный доступ O(1), вставка в конец амортизированно O(1), в середину O(n) из-за сдвига. LinkedList — двусвязный список: доступ по индексу O(n), но вставка/удаление по уже найденному узлу O(1). Ловушка — перепутать структуры местами или приписать ArrayList вставку в середину за O(1); Vector отличается от ArrayList синхронизацией, а LinkedList не использует дерево.

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

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