It depends on the performance characteristics and behavior you are looking for.
For example in a LinkedList
add, delete, and retrieve are O(1)
, O(1)
, and O(n)
, whereas for an ArrayList
, the same operations are O(n)
, O(n)
, and O(1)
if using get(int)
and O(n)
if using get(Object)
. However ArrayList
uses less memory than LinkedList
per entry.