ArrayList与LinkedList的区别

一、线程安全性:ArrayList和LinkedList都是不同步的,也就是不保证线程安全

二、底层数据结构:Arraylist 底层使⽤的是 Object 数组; LinkedList底层使⽤的是双向链表 数据结构

三、插⼊和删除是否受元素位置的影响:① ArrayList 采⽤数组存储,所以插⼊和删除元素的时间复杂度受元素位置的影响。②LinkedList 采⽤链表存储,插⼊,删除元素时间复杂度不受元素位置的影响

四、是否⽀持快速随机访问:LinkedList 不⽀持⾼效的随机元素访问,⽽ ArrayList ⽀持。快速随机访问就是通过元素的序号快速获取元素对象(对应于 get(int index) ⽅法)。

五、内存空间占⽤: ArrayList的空间浪费主要体现在list列表的结尾会预留⼀定的容量空间,⽽LinkedList的空间花费则体现在它的每⼀个元素都需要消耗⽐ArrayList更多的空间(因为要存放直接后继和直接前驱以及数据)

posted @ 2020-09-22 17:35  社会大哥  阅读(950)  评论(0编辑  收藏  举报