>>1
You either want an array or a linked list, here's how to make a choice.
Do you want to often add items to the front *and* end of a sequence, and you do not require random access? If yes, use a doubly linked list. Do you want to use immutable sequences of data which can be grown from sub-seqeunces? If yes, use a singly or doubly linked list. At all other times, use an array.