1、 从实现看:LinkedList底层实现是双链表;ArrayList底层实现是动态数组。即LinkedList使用的离散内存,而ArrayList使用的是连续内存空间。
2、 从操作看:LinkedList因为链表特性,更适合插入和删除;ArrayList因为数据特性,更适合查找
3 、从扩容看:LinkedList是离散空间,不需要主动扩容。ArrayList当内存空间不足的时候,需要主动扩容,jdk1.7之后的扩容尺寸为原尺寸的1.5倍。比如默认长度为10,当数据长度大于10时,发生扩容,扩容后大小为10+10/2 = 15
4、 两者都不是线程安全的
帖子还没人回复快来抢沙发