数据结构:
ArrayList 是动态数组的数据结构实现,而 LinkedList 是双向链表的数据结构实现。
随机访问方式:
LinkedList 是线性的数据存储方式,需要移动指针从前往后依次查找。
所以 ArrayList 比 LinkedList 在随机访问的时候效率要高,
增加和删除:
ArrayList 增删操作要影响数组内的其他数据的下标。
所以在非首尾的增加和删除操作,LinkedList 要比 ArrayList 效率要高,
综合来说:
在需要频繁读取集合中的元素时,更推荐使用 ArrayList,
而在插入和删除操作较多时,更推荐使用 LinkedList。
共性:
ArrayList 与 LinkedList 都是单列集合中 List 接口的实现类,他们都是存取有序,有索引,可重复的。
最后附上面试题汇总及答案(持续更新中)