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接口
|