java 数据类型:ArrayList;LinkList性能分析

各种线性表的性能分析。

java提供的List就是一个线性表接口,ArrayList和LinkedList是线性表的两种实现。基于数组的线性表和基于链表的线性表。
一般来说,我们无需理会ArrayList和LinkedList之间的性能差异,只需要知道LinkedList集合不仅提供了List的功能,还提供了双端队列,栈的功能。但是我们课程是比较有追求的,我们还是要了解一下他们的性能差异,我们在使用的时候可以有更好的选择。
我们的ArrayList使用数组的方式实现的,所以,它具有更高的随机访问性能LinkedList使用链表的方式实现的,它随机访问性能差,但是在执行插入,删除等操作的时候,有更好的性能。但是总体上来说,ArrayList的性能比LinkedList的性能好,因此大部分时候,我们要考虑使用ArrayList
 

使用List集合器有如下建议:

如果遍历List集合元素,对于ArrayList,应该使用随机访问方法get来遍历集合,但是对于LinkedList应该采用Iterator来遍历集合元素。
如果需要经常执行插入,删除操作来改变包含大量元素的List集合的大小,可以考虑使用LinkedList集合,使用ArrayList可能需要经常重新分配内存数组的大小,效果不好。

最终建议:

如果你对本节知识不太了解,对于数据结构完全没有了解,本节课完全听不懂,怎么办,你就直接使用ArrayList就好了,不要用LinkedList.
原文地址:https://www.cnblogs.com/zhangmingda/p/14641921.html