Встречается на собеседованиях • сегодня
Что знаешь про класс, реализующий динамический массив в Java
В Java класс `ArrayList` реализует динамический массив. Он автоматически увеличивает вместимость при добавлении элементов и уменьшает при удалении.
**Особенности:**
- Основан на обычном массиве (`Object[]`).
- Размер можно получить через `size()`.
- Поддерживает все операции списка (`add`, `remove`, `get`, `set`).
- Несинхронизирован (для потокобезопасности используй `Collections.synchronizedList` или `CopyOnWriteArrayList`).
**Пример:**
```java
List list = new ArrayList<>();
list.add("Java");
list.add("Kotlin");
System.out.println(list.get(0)); // "Java"
list.remove(1); // Удаляет "Kotlin"
```
**Важно:**
- Вставка/удаление в середину (`O(n)`) медленнее, чем доступ по индексу (`O(1)`).
- При создании можно указать начальный размер (`new ArrayList<>(100)`).
- Итераторы `fail-fast` (выбрасывают `ConcurrentModificationException` при изменении во время итерации).

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