• 欢迎光临~

面试题(集合):Arraylist 与 LinkedList 的区别?

开发技术 开发技术 2022-12-22 次浏览

ArrayList 类和 LinkedList 类的区别 ArrayList 与 LinkedList 都是 List 接口的实现类,因此都实现了 List 的所有未实现的方法,只是实现的方式有所不同。

不同点:1.底层数据结构:ArrayList 的实现是基于 Object 数组,LinkedList 的实现是基于双向链表。
2.线程安全:两者都不同步,不保证线程安全
3.插入和删除的时间复杂度会受位置影响。
4.是否支持快速随机访问:LinkedList 不支持高效的随机元素访问,而 ArrayList 支持。快速随机访问就是通过元素的序号快速获取元素对象(对应于get(int index)方法)。
5.内存空间占用:ArrayList 的空间浪费主要体现在 list 列表的结尾会预留一定的容量空间,而 LinkedList 的空间花费则体现在它的每一个元素都需要消耗比 ArrayList 更多的空间(因为要存放直接后继和直接前驱以及数据)。

程序员灯塔
转载请注明原文链接:面试题(集合):Arraylist 与 LinkedList 的区别?
喜欢 (0)