理论是理想,实践实验才是真标准!!以下是理论总结,具体看业务需要和实际生产!
1.
ArrayList 根据元素下标读取快,因此更替元素也快:底层有数组Index.
LinkedList根据元素下标读取慢,更替元素慢:底层没有Index.
2.删除:ArrayList删除的元素越靠最前或者靠最后,速度越比同条件的LinkedList快,元素越多越明显。
LinkedList删除元素越靠中间删除速度比同条件的ArrayList越快,元素越多越明显。
3.添加(插入):
##在开始或者中间插入数据,LinkedList快,元素越多越明显。
##在末尾添加数据,容量足够ArrayList快,否则LinkedList快。只讲速度不考虑内存开销ArrayList,考虑内存而速度不讲究可以LinkedList。
PS:ArrayList内存动态扩容: new_memory_size = (old_memory_size) * 3 / 2。
以上是理论,元素越多效果越明显。最优解还是结合企业生产吧!