2.25. ArrayList 和 LinkedList 区别
ArrayList 和 LinkedList 两者都实现了 List 接口,但是它们之间有些不同。
- ArrayList 是由 Array 所支持的基于一个索引的数据结构,所以它提供对元素的随机访问,复杂度为 O(1),但 LinkedList 存储一系列的节点数据,每个节点都与前一个和下一个节点相连接。所以,尽管有使用索引获取元素的方法,内部实现是从起始点开始遍历,遍历到索引的节点然后返回元素,时间复杂度为 O(n),比 ArrayList 要慢。
- 与 ArrayList 相比,在 LinkedList 中插入、添加和删除一个元素会更快,因为在一个元素被插入到中间的时候,不会涉及改变数组的大小,或更新索引。
- LinkedList 比 ArrayList 消耗更多的内存,因为 LinkedList 中的每个节点存储了前后节点的引用。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论