Встречается на собеседованиях • сегодня

Какие использовал реализации List

`ArrayList` - динамический массив, обеспечивает быстрый доступ по индексу (O(1)), но медленные вставки/удаления в середине (O(n)). ```java List arrayList = new ArrayList<>(); arrayList.add("Java"); ``` `LinkedList` - двусвязный список. Быстрые вставки/удаления (O(1)), но медленный доступ по индексу (O(n)). ```java List linkedList = new LinkedList<>(); linkedList.add(42); ``` `Vector` - устаревший аналог `ArrayList`, но с синхронизацией (потокобезопасный). ```java List vector = new Vector<>(); vector.add(3.14); ``` `CopyOnWriteArrayList` - потокобезопасный вариант `ArrayList`, создает новую копию при изменении. ```java List cowList = new CopyOnWriteArrayList<>(); cowList.add("Concurrent"); ``` Выбор зависит от задач: частые чтения – `ArrayList`, частые модификации – `LinkedList`, многопоточность – `CopyOnWriteArrayList` или `Vector` (с осторожностью).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы