前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ArrayList与LinkedList区别

ArrayList与LinkedList区别

作者头像
全栈开发日记
发布2022-05-12 20:55:36
1730
发布2022-05-12 20:55:36
举报
文章被收录于专栏:全栈开发日记

ArrayList与LinkedList都实现了List接口。

不同点如下:

ArrayList集合数据存储的结构是数组结构,所以元素增删慢、查询快。

LinkedList集合数据存储的结构是链表结构,所以方便元素插入、添加和删除。

ArrayList是基于索引的数据结构,它使用索引在数组中搜索和读取数据的速度是很快的。但是ArrayList删除数据的速度却很慢,因为删除操作需要重新排列集合中的所有元素,需要重新排列集合的索引。

LinkedList由于数据结构是链表结构,所以它插入、添加或者删除的操作就不会像ArrayList那样重新排列集合中的元素。

LinkedList需要更多的内存,因为LinkedList的每个节点中存储的是数据和前后节点的索引,一个指向前一个元素,一个指向后一个元素 (如果看不懂这个,可以去网上普及一下数据结构中的链表结构)。

以下情况适用于LinkedList集合:

  • 不会随机访问数据 。因为如果你需要LinkedList中的第n个元素的时候,你需要从第一个元素顺序读取到第n个数据,然后读取数据。
  • 更多的插入和删除元素,更少的读取数据 。因为插入和删除元素不涉及重排数据,所以它要比ArrayList要快。

反之则用ArrayList集合。

它们的用法详解:Java(集合③)

附上关系图

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈开发日记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档