[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-collections-chto-rabotaet-bystree-arraylist-ili-linkedlist":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":17,"progress":18,"seo":19},445,"chto-rabotaet-bystree-arraylist-ili-linkedlist",12,"collections","Collections","📚","Что работает быстрее — ArrayList или LinkedList","Однозначного ответа нет — зависит от операции. Однако на практике `ArrayList` быстрее в большинстве сценариев благодаря cache locality (данные в массиве лежат последовательно в памяти).\n\n| Операция | ArrayList | LinkedList |\n|---|---|---|\n| get(index) | O(1) | O(N) |\n| add(e) в конец | O(1) амортиз. | O(1) |\n| add(0, e) в начало | O(N) | O(1) |\n| remove(0) из начала | O(N) | O(1) |\n| remove(index) из середины | O(N) | O(N) |\n| Итерация | Быстрее (cache-friendly) | Медленнее (cache miss) |\n| Потребление памяти | Меньше | Больше (~40-64 байт\u002Fэлемент) |\n\nДаже для вставки в середину ArrayList часто выигрывает у LinkedList, потому что `System.arraycopy()` — это нативная операция, копирующая блоки памяти, а LinkedList тратит O(N) на поиск позиции вставки.\n\n> **На собеседовании:** не говорите «ArrayList» или «LinkedList» однозначно. Скажите «зависит от операции» и перечислите сценарии. Добавьте, что на практике ArrayList предпочтительнее из-за cache locality.","","junior",[15,16],"performance","jcf",[],null,{"title":20,"description":21,"ogTitle":22,"ogDescription":23,"keywords":24,"schemaAnswer":32,"featuredSnippetReady":33},"Что быстрее — ArrayList или LinkedList — Gymterview","Зависит от операции: get по индексу — ArrayList O(1), вставка в начало — LinkedList O(1). На практике ArrayList быстрее в большинстве сценариев из-за cache locality.","ArrayList vs LinkedList — что быстрее — Gymterview","Зависит от операции. ArrayList быстрее на практике из-за cache locality и System.arraycopy().",[25,26,27,28,29,30,31],"ArrayList","LinkedList","производительность","cache locality","бенчмарк","Java","собеседование","Зависит от операции: get(index) — ArrayList O(1), add\u002Fremove в начало — LinkedList O(1). На практике ArrayList быстрее в большинстве сценариев из-за cache locality (данные в массиве лежат последовательно в памяти).",true]