ArrayList - это изменяемая коллекция, основанная на массиве. Он реализует интерфейс List и предоставляет динамический массив объектов, где размер может увеличиваться или уменьшаться по мере добавления или удаления элементов.
Ключевые особенности:
- Произвольный доступ: Элементы доступны по индексу за время O(1).
- Динамический размер: При добавлении элементов, если внутренний массив заполнен, создается новый массив большего размера и старые элементы копируются в него.
- Непотокобезопасный: Если требуется использовать в многопоточной среде, необходима синхронизация, например, с помощью
Collections.synchronizedList().
- Лучше подходит для: Частых операций чтения и редких операций вставки/удаления в середине списка.
Пример создания и использования:
java