ArrayList,LinkedList,Vector三者有什么区别呢?

璐璐 Java面经 发布时间:2022-10-27 22:09:06 阅读数:6937 1 集合容器面试题(2023优化版)
下文笔者讲述Arraylist,LinkedList,Vector三个集合对象的区别说明,如下所示

ArrayList,LinkedList,Vector三者共同点

ArrayList,LinkedList,Vector三者都实现了List接口
因为实现了List接口,所以三者都是有序集合
三者的功能非常相似
都对外提供搜索、添加、删除的功能
三者都对外提供迭代器的遍历方式
上面是笔者讲述三者的相同点,那么三者的不同点是什么呢?下文笔者将一一道来,如下所示

ArrayList,LinkedList,Vector三者区别

区别1:
   底层存储不同
     ArrayList和Vector两个的底层存储采用的是动态数组
     LinkedList底层数据存储采用的是双向循环链表

区别2:随机访问效率不同
    ArrayList和Vector比LinkedList
	  使用索引随机访问时效率比LinkedList高

区别3:增加和删除效率
    在非尾部的位置增加和删除元素时,
     LinkedList比"ArrayList和Vector"效率高

区别4:占用大小
    LinkedList比"ArrayList和Vector"占用空间大
	我们从LinkedList的数据结构上可以看出其占用大

区别5:线程安全上
    ArrayList和LinkedList不是线程安全
    Vector中使用synchronized同步锁,来保证线程安全

区别6:容量变化上
    ArrayList和Vector会根据实际大小估算出扩容的大小
	   Vector每次会增加1倍容量
	   ArrayList每次会增加50%容量
	LinkedList采用指针的模式,无需扩容,理论上无限大
从以上“ArrayList,LinkedList,Vector三者的区别上”,我们可以总结出"ArrayList,LinkedList,Vector"的应用场景
ArrayList适用于:
    频繁随机访问集合中元素
Vector适用于:
    需线程安全的操作元素
LinkedList适用于:
    频繁的插入和删除操作的数据结构
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaMianJing/202210/16668797904727.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者