Коллекции middle
В чём разница: ArrayList vs LinkedList?
Ответ
ArrayList: O(1) доступ по индексу, O(n) вставка в середину, дружелюбно к CPU-кэшу (непрерывная память). LinkedList: O(1) вставка в начало/конец (если есть ссылка), O(n) доступ по индексу, так как нужно последовательно идти по узлам двусвязного списка.
Разбор: ArrayList — динамический массив: O(1) доступ по индексу и кэш-дружелюбность за счёт непрерывной памяти, но O(n) на вставку в середину из-за сдвига элементов. LinkedList — двусвязный список: O(1) на саму вставку при наличии ссылки, но O(n) на доступ по индексу, т.к. нужно идти по узлам. Ловушка дистракторов — приписать LinkedList быстрый доступ по индексу или перепутать, какая структура на чём основана.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.