校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > java语言 > Map、set集合(后序会删除)
题目

ArrayList和LinkedList的区别,以及各自是怎么实现扩容的?

解答

1、  从实现看:LinkedList底层实现是双链表;ArrayList底层实现是动态数组。即LinkedList使用的离散内存,而ArrayList使用的是连续内存空间。

2、 从操作看:LinkedList因为链表特性,更适合插入和删除;ArrayList因为数据特性,更适合查找

3 、从扩容看:LinkedList是离散空间,不需要主动扩容。ArrayList当内存空间不足的时候,需要主动扩容,jdk1.7之后的扩容尺寸为原尺寸的1.5倍。比如默认长度为10,当数据长度大于10时,发生扩容,扩容后大小为10+10/2 = 15

4、 两者都不是线程安全的


C 0条回复 评论

帖子还没人回复快来抢沙发