Sobes.tech
Назад к вопросам
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); // доступ по индексу