arraylist,linkedlist和vector的区别

 我来答
山东中公优就业
2017-12-26 · TA获得超过1511个赞
知道小有建树答主
回答量:907
采纳率:88%
帮助的人:207万
展开全部
1、ArrayList、Vector、LinkedList类都是java.util包中,均为可伸缩数组。
2、ArrayList和Vector底层都是数组实现的,所以,索引数据快,删除、插入数据慢。
ArrayList采用异步的方式,性能好,属于非线程安全的操作类。(JDK1.2)
Vector采用同步的方式,性能较低,属于线程安全的操作类。(JDK1.0)
3、LinkedList底层是链表实现,所以,索引慢,删除、插入快,属于非线程安全的操作类。
喵喵喵喵喵咪c7
2020-02-19 · TA获得超过4024个赞
知道小有建树答主
回答量:2277
采纳率:100%
帮助的人:71.6万
展开全部
ArrayList
1)只能装入引用对象(基本类型要转换为封装类);
2)线程不安全;
3)底层由数组实现(顺序表),因为由顺序表实现,所以会具备顺序表的特点,如:需要声明长度、超出长度时需要进行扩容、不适合频繁的移动删除元素、检索元素快;
4)capacity默认为10,超出时,capacity自动增长0.5倍(oldCapacity >> 1)。
Vector:
1)只能装入引用对象(基本类型要转换为封装类);
2)Vector通过synchronized方法保证线程安全;
3)底层也由数组实现;
4)capacity默认为10(在构造方法中),超出时增长capacityIncrement的量,capacityIncrement小于等于0时,则增长1倍((capacityIncrement > 0) ? capacityIncrement : oldCapacity)。
LinkedList
1)只能装入引用对象(基本类型会转换为封装类);
2)线程不安全;
3)底层实现为链表,具备链表的特点,如:不用声明长度、检索性能较差,但是插入移动删除较快。
4)链表通过Node对象实现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式