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

Какая сложность у основных операций в 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) ```
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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