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.