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

Какие знаешь реализации List

**ArrayList** - динамический массив, обеспечивает быстрый доступ по индексу (O(1)), но медленные вставки/удаления в середине (O(n)). ```java List list = new ArrayList<>(); ``` **LinkedList** - двусвязный список. Быстрые вставки/удаления (O(1)), но медленный доступ по индексу (O(n)). ```java List list = new LinkedList<>(); ``` **Vector** - устаревший аналог ArrayList с синхронизированными методами (потокобезопасен, но медленнее). **CopyOnWriteArrayList** - потокобезопасный вариант ArrayList, создает копию при изменении. **Stack** (наследует Vector) - реализация стека (LIFO), но лучше использовать `Deque`. **ImmutableCollections.ListN** (Java 9+) - неизменяемые списки, создаются через `List.of()`. Примеры специализированных реализаций: - `Arrays.asList()` – обертка над массивом (фиксированный размер). - `Collections.emptyList()` – неизменяемый пустой список. - `Collections.singletonList()` – список из одного элемента.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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