1.ArrayList基于动态数组,LinkedList基于循环双向链表。
2.访问数据(get、set),ArrayList性能优于LinkedList,ArrayList可以使用查找算法进行数据的访问,而LinkedList要移动指针,从前往后遍历,耗时久。
3.修改数据(add、remove),LinkedList性能优于ArrayList,LinkedList直接对链表进行操作,只需要修改两个数据的next指针即可,ArrayList对数组进行操作,除非插入删除的数据在末尾,否则在插入位置及之后的数据都要进行移动。
进行元素的查找操作时,使用ArrayList效率高,进行元素的修改操作时,使用LinkedList效率高。