ArrayList和LinkedList都是实现了List接口的类,他们都是元素的容器.
ArrayList:内部使用数组实现存储,利用数组下标进行元素的访问,因此对元素的随机访问非常快。
初始化大小默认是0, 或者初始化给的数值, 在add时懒加载初始化给10,或者初始化给的数值,扩容步长是增加0.5倍原容量,有一定开销。
插入元素时,需要移动插入之后的元素,进行复制,所以插入的位置越靠后,开销越小。
LinkedList:内部使用双向链表,插入和删除效率高,但是get和set效率较低。
综上所述,在需要频繁读取集合中的元素时,使用ArrayList效率较高,而在插入和删除操作较多时,使用LinkedList效率较高。
image.png
网友评论