Vector与ArrayList都是采用数组的方式实现,ArrayList进行扩容时总是扩容为原来的1.5倍,Vector中如果increaseCapacitry大于0,则扩容+increaseCapacity.Vector唯一的好处就是线程安全的,但是Java提供了一个工具类Collections,通过该工具类synchronizedList方法即可将一个普通arrayList包装成线程安全的ArrayList.
List代表一种线性表的数据结构,ArrayList则是一种顺序存储的线性表。ArrayList底层采用数组来保存每个集合元素,LinkedList则是一种链式存储的线性表,其本质上就是一个双向链表,但它不仅实现了List接口,还实现了Deque接口,也就是说LinkedList既可以当双向链表使用也是当成队列使用,还可以当成栈来使用(Deque代表双端队列,既具有队列的特征,也具有栈的特征)。