相同点:ArrayList与linkedList都是不同步的(Vector同步),都是线程不安全的。
不同点:
1、(底层数据结构不同)ArrayList底层数据结构是Object数组,linkedList底层数据结构是双向链表。
2、(主要控件开销不同)ArrayList主要为List列表的结尾预留一定的容量空间;linkedList主要内存花费在存储指针和节点上。
3、(插入和删除是否受元素位置影响)ArrayList采用数组存储,插入和删除元素时间复杂度受元素位置影响;linkedList采用链表存储,插入和删除元素时间复杂度不受元素位置影响;
4、(是否支持快速随机访问)ArrayList里提供get(int index)快速获取元素,支持快速随机访问;而linkedList不支持高效的快速随机访问。