1.是否保证线程安全:
ArrayList和LinkedList都没有加同步,故都是线程不安全的。
2.底层数据结构:
ArrayList用的是Object数组
LinkedList用的是双向链表
3.插入和删除是否受元素位置影响:
ArrayList:是,时间复杂度近似O(n)
由于是数组,如果是插入最后一个元素就是O(1),而如果是插入指定位置i,那么复杂度就是O(n-i)
LinkedList:否,时间复杂度近似O(1)
4.是否支持快速随机访问:
ArrayList支持,LinkedList不支持
快速随机访问就是由元素序号访问到元素
5.内存空间占用:
ArrayList的空间浪费主要体现在list列表结尾会留一段容量空间,
LinkedList的空间浪费主要体现在每个元素都需要存放前级和后继指针。