Встречается на собеседованиях • сегодня
Какие знаешь реализации, кроме ArrayList и LinkedList
В Java коллекции реализуют интерфейс `List` по-разному, помимо `ArrayList` и `LinkedList`:
1. **Vector** – устаревший аналог `ArrayList`, но с синхронизированными методами (потокобезопасный).
```java
Vector vector = new Vector<>();
```
2. **CopyOnWriteArrayList** – потокобезопасная реализация, где изменения создают новую копию массива. Подходит для редких записей и частого чтения.
```java
CopyOnWriteArrayList cowList = new CopyOnWriteArrayList<>();
```
3. **Stack** – наследник `Vector`, реализующий LIFO (последним пришёл — первым ушёл).
```java
Stack stack = new Stack<>();
```
4. **Arrays.asList()** – возвращает фиксированный список на основе массива (не поддерживает добавление/удаление).
```java
List fixedList = Arrays.asList("A", "B");
```
5. **Collections.emptyList()** – возвращает неизменяемый пустой список.
```java
List empty = Collections.emptyList();
```
6. **Collections.singletonList()** – неизменяемый список с одним элементом.
```java
List single = Collections.singletonList("Java");
```
Каждая реализация имеет свои особенности по производительности, потокобезопасности и изменяемости.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы