1.ArrayList内部使用动态数组。LinkedList使用双向链表。
2.ArrayList随机访问强,通过下标。LinkedList随机访问弱,需要指针遍历。
3.ArrayList增删元素除了尾部,其他地方需要数组推移,慢。LinkedList增删元素通过改变相邻头尾指针,快。
4.ArrayList每个元素存储使用下标和一个空间,占用空间小。LinkedList每个元素使用两个引用和一个空间,占用空间大。
1.ArrayList内部使用动态数组。LinkedList使用双向链表。
2.ArrayList随机访问强,通过下标。LinkedList随机访问弱,需要指针遍历。
3.ArrayList增删元素除了尾部,其他地方需要数组推移,慢。LinkedList增删元素通过改变相邻头尾指针,快。
4.ArrayList每个元素存储使用下标和一个空间,占用空间小。LinkedList每个元素使用两个引用和一个空间,占用空间大。