125
доступ к первому и последнему элементу списка всегда осуществляется за
константное время — ссылки постоянно хранятся на первый и последний, так что
добавление элемента в конец списка вовсе не значит, что придется перебирать весь
список в поисках последнего элемента). В целом же,
LinkedList
в абсолютных
величинах проигрывает
ArrayList
и по потребляемой памяти, и по скорости
выполнения операций.
Класс
ArrayList.
Довольно-таки простой класс, который реализует интерфейс List. Имеет
улучшение по сравнению с массивами. Используется, если программист хочет
добавить новые элементы в конец списка, но по-прежнему нуждается в возможности
доступа к элементам, сохраненным в списке в произвольном порядке.
ArrayList
является несихронизируемым динамически расширяемым
массивом с эффективным доступом по индексу.
Пример:
ArrayList
arr =
new ArrayList(10/*initialCapacity*/);
arr.add(7);
ArrayList
на самом деле не является списком (хотя реализует интерфейс
List
) Если вам нужен список, то используйте класс
LinkedList
.
Класс Vector.
Vector
это и синхронизируемый динамически расширяемый массив массив с
эффективным доступом по индексу.
Пример:
Vector vec =
new Vector(10/*initialCapacity*/);
vec.add(7);
Vector
является старым контейнером (Java 1.0) и сейчас гораздо реже
используется, заменяется в основном
ArrayList
(Java 1.2), который не
синхронизируется.
Достарыңызбен бөлісу: