ArrayList、LinkedList、Vector的区别

1、ArrayList类的继承关系

2、LinkedList类的继承关系

3、Vector的继承关系

4、三者比较

ArrayList LinkedList Vector

1、底层是数组实现,本质上是一个数组,增加删除慢,查询快;

2、线程不安全,不同步;

3、实现可变大小的数组,允许null元素;

4、默认初始容量较小,预计分配量的话,分配一个较大的容量可以减少调整大小的开销;

5、一个可变大小的数组,当更多的元素想要加入到ArrayList中时,其大小将会动态增长,但是这会带来开销。内部元素可以通过get和set访问;

1、底层链表实现;

2、线程不安全,不同步;

3、实现Queue接口;

4、增加和删除元素时比ArrayList有更好地性能,查询弱于ArrayList;

1、底层是用数组实现;

2、线程安全,同步;

3、性能低

4、Vector和ArrayList在更多元素添加进行时请求更多空间,Vector请求双倍,ArrayList请求size增长50%

都实现了List接口

 

 

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/fankongkong/p/5541799.html