Встречается на собеседованиях • сегодня
Какая сложность у основных операций в ArrayList
**Добавление элементов:**
- `add(E element)` - O(1) (амортизированное время, если не требуется расширение массива)
- `add(int index, E element)` - O(n) (из-за сдвига элементов)
**Удаление элементов:**
- `remove(int index)` - O(n) (из-за сдвига элементов)
- `remove(Object o)` - O(n) (поиск элемента + сдвиг)
**Доступ и поиск:**
- `get(int index)` - O(1) (прямой доступ по индексу)
- `contains(Object o)` - O(n) (линейный поиск)
- `indexOf(Object o)` - O(n) (линейный поиск)
**Размер и очистка:**
- `size()` - O(1)
- `clear()` - O(n) (нужно обнулить ссылки)
Пример:
```java
ArrayList list = new ArrayList<>();
list.add(10); // O(1)
list.add(0, 20); // O(n)
int val = list.get(0); // O(1)
```

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