Назад к вопросам
Middle
5
Расскажите про ArrayList: особенности, начальный размер, операции вставки и удаления.
Компании, где спрашивали
RedLab
Ответ от нейросети
sobes.tech AI
ArrayList в Java — это реализация динамического массива, который автоматически увеличивает свой размер при необходимости.
Особенности:
- Позволяет хранить элементы в порядке вставки.
- Быстрый доступ по индексу (операция get) — O(1).
- Вставка и удаление элементов в середине списка — O(n), так как требуется сдвиг элементов.
- Не синхронизирован, поэтому не потокобезопасен без внешней синхронизации.
Начальный размер: По умолчанию ArrayList создаётся с внутренним массивом размером 10. При добавлении элементов, если внутренний массив заполнен, он увеличивается примерно на 50% от текущего размера.
Операции вставки и удаления:
- Вставка в конец — амортизированно O(1).
- Вставка в середину или начало — O(n) из-за сдвига элементов.
- Удаление по индексу — O(n) из-за сдвига.
Пример создания и использования:
ArrayList<String> list = new ArrayList<>();
list.add("Первый");
list.add(0, "Нулевой"); // вставка в начало
list.remove(1); // удаление второго элемента
String item = list.get(0); // доступ по индексу