1、底层数据结构
ArrayList底层数据结构是数组,LinkedList底层数据结构是双向链表。
2、查找元素
ArrayList开辟的是连续的内存空间,根据索引是可以算出对应元素的引用地址从而直接找到该元素,因此查询是比较快的。
LinkedList的元素的存储是分散的,LinkedList的节点存储的是数据内容和指向前后元素的指针,因此要找到其中的一个元素,可以首尾节点同时开始查找,但是相对于ArrayList查找元素的次数会多很多,因此查询是比较慢的。
3、增删元素
ArrayList增删元素会涉及到数组扩容缩容的问题,因此ArrayList增删元素是比较慢的。
LinkedList的增删元素只需要修改对应节点的指针,相对于ArrayList来说增删元素会更快。