ArrayList – это список, который очень похож на массив за исключением того, что он имеет произвольную длину:
Методы:
Для хранения объектов ArrayList использует массив. По умолчанию данный массив предназначен для 10 объектов. Если в процессе программы добавляется больше объектов, то создается новый массив, который может вместить в себя все количество, что приводит к снижению производительности. Поэтому желательно сразу указывать количество элементов при создании списка:
ArrayList<String> people = new ArrayList<String>(25);
либо использовать специальный метод:
people.ensureCapacity(25);
Arrraylist обеспечивает возможность:
добавления элемента в конец списка или по индексу вместо существующего элемента
добавление одного списка или его части в другой
нахождение элемента в списке или элемента по индексу
удаление элемента из списка или элемента по индексу
Кроме того, ArrayList реализует методы интерфейсов Serializable, Cloneable, Iterable<Е>, Collection<Е>, List<Е>, RandomAccess.
ArrayList не умеет работать с примитивными типами, его можно параметризировать только объектом. Поэтому для параметризирования примитивами используются классы-оболочки (wrappers).