第8讲 | 对比Vector、ArrayList、LinkedList有何区别?

前言:相信很多朋友也和我一样,集合基本都是用ArrayList和HashMap,除了偶尔用一下HashSet,其他什么ConCurrentHashMap,什么CopyOnWriterArrayList都不管,直接ArrayList和HashMap走天下.今天就说一下Java里常用的集合

1.首先Vector和ArrayList底层数据结构都是数组,实现自List接口
2.所不同的是Vector是同步的,也就是在多线程情况下,vector可以保证线程安全(内部直接使用synchronized关键字实现)
3.因此ArrayList速度比Vector快得多

LinkedList是List家族另一位成员,
1.实现了List接口
2.底层是双向链表的数据结构
3.LinkedList一个元素除了本身内容,只标记一下前后两个元素,所以插入删除非常容易.查询复杂
4.而ArrayList插入,删除的话,要根据位置确定消耗时间,删除或者要插入下标越靠前的元素,消耗越大.
5.除此之外LinkedList还实现了Deque接口(双端队列)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容