ArrayList和LinkedList区别及使用场景
- LinkedList和ArrayList的差别主要来自于Array和LinkedList数据结构的不同。ArrayList是基于数组实现的,LinkedList是基于双链表实现的
- ArrayList是基于索引(index)的数据结构,它使用索引在数组中搜索和读取数据是很快的,可以直接返回数组中index位置的元素,因此在随机访问集合元素上有较好的性能。ArrayList获取数据的时间复杂度是O(1),但是要插入、删除数据却是开销很大的,因为这需要移动数组中插入位置之后的的所有元素;
LinkedList查询的速度较慢,因为LinkedList要移动指针、遍历节点来定位,但如果应用程序有更多的插入或者删除操作,较少的随机访问,LinkedList对象要优于ArrayList对象; - LinkedList需要更多的内存,因为ArrayList的每个索引的位置是实际的数据,而LinkedList中的每个节点中存储的是实际的数据和前后节点的位置。
原文链接:https://blog.youkuaiyun.com/u012216131/article/details/82500925
原文链接:https://blog.youkuaiyun.com/weixin_42139757/article/details/82108515