1. 两者底层的数据结构不同,ArrayList是基于数组实现的,LinkedList是基于数组和链表实现的。
2.ArrayList在需要扩容时,可能会影响性能,且在针对指定位置进行插入元素时,其实是存在扩容和元素移动的步骤,此步骤会很消耗性能。LinkedList在针对指定位置添加元素时,只是修改元素的指针,但由于需要找到对应的下标位置,同样也是很消耗性能的。
3. 适用的场景不同,arrayList更适合随机查找,linkedList更适合添加和删除
4. 两者都实现了list接口,但是linkedList还额外实现了队列deque(先进先出),可以当做双端队列进行使用。
5.arrayList是线程不安全的!(参考链接: https://blog.csdn.net/qq_36929361/article/details/108504947)