ArrayList和LinkList究竟有什么区别?!

1. 是否保证线程安全

它们都是不同步的,也就是不能保证线程安全

2. 底层数据结构

ArrayList的底层是数组队列,而LinkList的底层则是双向链表

3. 元素位置是否会影响插入和删除操作

ArrayList使用数组存储,所以ArrayList的时间复杂度会受到元素位置的影响
LinkList使用链表存储,不会受到影响

4. 是否支持快速随机访问

ArrayList实现了RandomAccess接口,实现这个接口的List集合是支持随机快速访问
LinkList不支持随机快速访问

(快速随机访问就是通过元素序号快速获取元素对象)

5. 内存空间的占用

ArrayList会在list列表的尾部预留一定的容量空间
而LinkList的每一个元素都需要消耗比ArrayList更多的空间

你可能感兴趣的:(ArrayList和LinkList究竟有什么区别?!)