[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-collections-chem-otlichaetsya-arraylist-ot-vector":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":18,"progress":19,"seo":20},442,"chem-otlichaetsya-arraylist-ot-vector",12,"collections","Collections","📚","Чем отличается ArrayList от Vector","`ArrayList` и `Vector` — это реализации `List` на основе динамического массива, но с ключевыми отличиями в синхронизации и стратегии роста.\n\n| Характеристика | ArrayList | Vector |\n|---|---|---|\n| Синхронизация | Нет | Все методы synchronized |\n| Стратегия роста | Увеличивается в 1.5 раза | Удваивается |\n| Производительность | Быстрее | Медленнее (из-за synchronized) |\n| Итератор | fail-fast (Iterator) | fail-fast (Iterator) + Enumeration |\n| Версия Java | 1.2 (JCF) | 1.0 (legacy) |\n| Статус | Рекомендуется | Устаревший |\n\nСинхронизация `Vector` поэлементная: каждый вызов метода захватывает монитор. Это неэффективно, потому что составные операции (например, «проверить размер и добавить элемент») всё равно требуют внешней синхронизации. Вместо Vector рекомендуется `Collections.synchronizedList(new ArrayList\u003C>())` или `CopyOnWriteArrayList`.\n\n> **На собеседовании:** назовите два отличия: синхронизация и стратегия роста. Объясните, почему Vector устарел и что использовать вместо него.","","junior",[15,16,17],"performance","основы","jcf",[],null,{"title":21,"description":22,"ogTitle":23,"ogDescription":24,"keywords":25,"schemaAnswer":35,"featuredSnippetReady":36},"ArrayList vs LinkedList — отличия и когда использовать — Gymterview","ArrayList — динамический массив с O(1) доступом по индексу. LinkedList — двусвязный список с O(1) вставкой в начало\u002Fконец. Сравнение сложности и cache locality.","ArrayList vs LinkedList — сравнение — Gymterview","ArrayList: O(1) по индексу, cache-friendly. LinkedList: O(1) вставка в начало\u002Fконец. На практике ArrayList быстрее.",[26,27,28,29,30,31,32,33,34],"ArrayList","LinkedList","сложность","O(1)","O(N)","cache locality","System.arraycopy","Java","собеседование","ArrayList — динамический массив: O(1) доступ по индексу, cache-friendly. LinkedList — двусвязный список: O(1) вставка в начало\u002Fконец, O(N) доступ по индексу. На практике ArrayList предпочтительнее из-за cache locality.",true]