Назад к вопросам

Ответ от нейросети

sobes.tech AI

ArrayList — это динамический массив в Java, реализованный на основе обычного массива.

Основные характеристики:

  • Динамический размер: Может расти или уменьшаться по мере добавления/удаления элементов.
  • Индексированный доступ: Элементы доступны по их индексу (начиная с 0).
  • Порядок элементов: Сохраняет порядок добавления элементов.
  • Не потокобезопасен: Не синхронизирован, для многопоточных сценариев используется Vector или Collections.synchronizedList.
  • Производительность:
    • Добавление/удаление в конец O(1) в среднем (амортизированное время).
    • Добавление/удаление в середину O(n) (требуется сдвиг элементов).
    • Доступ по индексу O(1).
    • Поиск элемента O(n).

Пример использования:

import java.util.ArrayList;

// Создание ArrayList
ArrayList<String> names = new ArrayList<>();

// Добавление элементов
names.add("Alice");
names.add("Bob");
names.add("Charlie");

// Доступ к элементу по индексу
String firstElement = names.get(0); // "Alice"

// Размер ArrayList
int size = names.size(); // 3

// Удаление элемента
names.remove("Bob"); // Удаляет первый найденный "Bob"
names.remove(0); // Удаляет элемент по индексу 0 (теперь "Charlie")

// Перебор элементов
for (String name : names) {
    System.out.println(name);
}