Следующая часть документации для ArrayList не кажется мне правильной:
Операции size, isEmpty, get, set, iterator и listIterator выполняются в константевремя.
Теперь набор определяется как:
set (int index, E element)
Заменяет элемент в указанной позиции в этом списке на указанныйelement.
Таким образом, это можно использовать для добавления элемента в середину ArrayList и смещения остальных элементов.
Но это считается линейной операцией, а не постоянной.
Я здесь не прав?Или я что-то упускаю из виду?