区别:
1.内存消耗
LinkedList比ArrayList更占用内存,因为LinkedList为每一个节点存储了两个引用,一个指向前一个元素,一个指向下一个元素。
2.底层数据结构
ArrayList是基于动态数组,LinkedList是基于双向链表。
3.访问元素效率
ArrayList随机访问元素的时间复杂度是O(1)的,LinkedList访问元素需要移动指针,所以访问元素的时间复杂度是O(n)的。所以在访问效率上,ArrayList比LinkedList高。
4.添加删除元素效率
进行元素的添加删除等操作时,LinkedList的效率比ArrayList高,因为ArrayList的底层是动态数组,所以添加或删除元素会对数组所有元素的下标造成影响,需要移动数据的存储位置。