ArryList和LinkedList的简单归纳与区别

1.ArrayList

ArrayList底层实现为数组。默认大小为10,1.5倍扩容

优点:1.长度可以随着元素的增加而加长  2.查找特定元素比较快,这归功于数组的索引。

缺点:插入和删除元素比较麻烦(数组的存储是连续的,插入和删除元素需要移动数组部分元素)

2.LinkedList

LinkedList的底层实现为双向链表

优点:1.不需要担心元素的多少(双向链表可以无限延长) 2.插入和删除元素比较简单(不需要移动内存,只需要改变指针指向即可)

缺点:查找特定元素比较麻烦(链表内存不是连续的,需要从表头开始,沿指针方向一个一个查)

总结

ArrayList更适合查找较多,插入和删除较少的情况。LinkedList正好相反,更适合于插入和删除较多,查找较少的情况。

猜你喜欢

转载自www.cnblogs.com/zgmzbhqa/p/10129023.html