The basics:
Vectorimplements java.util.Listthat defines containers that allow access to index-based items. It also implements interface RandomAccess, which tells the user that the base view allows fast (usually O(1)) access to elements.
ArrayDequeimplements java.util.Dequethat defines a container that supports the rapid addition and removal of elements from the beginning and end of the container.
The main differences:
Vector , List.add(int index, E element) List.addAll(int index, Collection<? extends E> c).
Vector remove.
Vector set setElementAt ( Vector , O(1)).
add Vector - . - (O(n)).
ArrayDeque (O(1)) / , .
ArrayDeque . remove, removeFirst removeLast .
ArrayDeque , (peek, poll, add, addFirst) (offer, push, pop, peekLast, addLast) , (, Double-Ended Queue).
ArrayDeque deque.
Vector ListIterator, , , , . ArrayDeque .
Vector - , , / . ArrayDeque , . , ArrayList Vector.