码迷,mamicode.com
首页 > 其他好文 > 详细

ArrayList、LinkedList、Vector的区别

时间:2016-05-30 12:44:03      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:

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

 

 

 

 

 

 

 

 

 

技术分享
技术分享

ArrayList、LinkedList、Vector的区别

标签:

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!