Vector
– an over-synchronized and obsolete version of ArrayList
, which is better to be replaced by Collections.synchronizedList()
.ArrayList
stores its elements in an array, making operations in the middle and growth within the current capacity more efficient. LinkedList
, being a doubly linked list, performs better at the edges. Generally, ArrayList
is usually more efficient.It's worth noting that for operations on the edges, implementations of dedicated interface
Deque
are more preferred. An example is ArrayDeque
which implements ring buffer structure.