- ArrayList底层使用的是数组,LinkedList底层使用的是链表。
- 对于随机访问 get / set,ArrayList 要优于 LinkedList,因为 LinkedList 要移动指针,而 ArrayList 是个数组,直接返回就好了。
- 对于插入、删除的效率就不太好说了
对于 ArrayList 而言:插入、删除要移动数据
对于 LinkedList 而言:插入、删除要移动指针
主要有两个因素决定它们的效率,插入的数据量和插入的位置。
其实只要分析一下源码就什么都明白了
ArrayList源码分析
LinkedList源码分析