温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ArrayList与Vector与LinkedList的联系和区别

发布时间:2020-05-30 01:38:06 来源:亿速云 阅读:487 作者:鸽子 栏目:编程语言

ArrayList:

1.逻辑顺序和物理顺序都连续的线性表
2.基于数组来实现

Vector:

1.逻辑顺序和物理顺序都连续的线性表
2.基于数组来实现

LinkedList:

1.逻辑顺序连续但是物理顺序不一定连续的线性表
2.基于双向链表来实现

联系:

1.ArrayList、LinkedList和Vector都是List集合下的常用类
2.ArrayList和Vector都是基于数组实现的,方法的实现也是大同小异
3.ArrayList和Vector都存在扩容问题
4.ArrayList和Vector默认初始化大小都为

区别:

1.ArrayList的扩容是将容量变为了原来的1.5倍,Vector的扩容时变为原来容量的2倍
2.ArrayList的初始化采用的是延迟加载,当一次增加元素的时候才会初始化成大小为默认值的数组,Vector的初始化采用的时候立即加载,在创建对象的时候就创建了大小为默认值的数组
3.ArrayList是线程不安全的,Vector是线程安全的。不考虑线程安全的情况时一般使用ArrayList,性能高,Vector线程安全读读互斥,因此性能偏低
4.ArrayList和Vector都支持随机访问,LinkedList不支持随机访问,在查询情况多的场景下,ArrayList更适合使用
5.LinkedList进行增加和删除操作的时间复杂度为O(1),ArrayList增加删除的时间复杂度是O(N),在增删频繁的情况下,LinkedList更适合使用

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI