Класс ArrayList
В отличие от обычных массивов класс
ArrayList
из пакета
java.util
является автоматически расширяемым массивом. При создании объекта типа
ArrayList
необязательно указывать его размерность. Например,
ArrayList list = new ArrayList();
Достоинства ArrayList
по сравнению с обычным массивом:
- быстрый доступ к элементам по индексу за константное время
O(1)
;
- доступ к элементам по значению за линейное время
O(n)
;
- позволяет хранить любые значения в том числе и
null
.
Недостатки ArrayList
:
Вставка/удаление элемента вызывает перезапись всех элементов, размещенных «правее» в списке на одну позицию влево, то есть работает за линейное время
O(n)
;
Помните, что списки могут содержать только объекты, поэтому, если вы хотите хранить числа, используйте
Integer
вместо
int
.
Integer
является именем класса, и объект этого класса может содержать целочисленное значение. Подробнее почитать по классы и объекты можно здесь:
введение в объектно-ориентированное программирование.