ArrayList
- 基于动态数组,是一个连续的内存存储,适合进行下标访问
- 扩容机制是,超出长度的时候需要重新建立数组,然后将老数组的数组拷贝到新的数组中。
- 插入元素的时候性能消耗大,因为要移动其他的元素
LinkedList
- 基于链表,可以存储到分散的内存中,适合坐数据的插入以及删除的操作,不合适进行查询,因为查询就要进行遍历。
- 插入速度快,只需要更改指针的指向。
应用场景
ArrayList因为其内存空间的限制和查询效率的优势,更适合于存储大量数据且不需要频繁增删改查的场景;而LinkedList则更适合于需要频繁增删改查的场景。