A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

LinkedList,ArrayList底层使用的数据结构都是什么,这对他们上层那些方法有什么影响,对他们的性能影响怎么样?

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

5 个回复

倒序浏览
ArrayList 不同步的,底层使用的是数组结构,特点是:查询很快,修改快,但是增删慢
LinkedList 底层使用链表数据结构,特点是查询慢,但是增删元素快

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
ArrayList底层用的是数组结构,每一个元素对应一个索引值,和数组元素一样,下标从0开始,这样ArrayList的查询效率很高,但增删的效率变低了。
LinkedList底层使用的是链表结构,每个元素只记得自己的前边与后边两个元素的地址,增删效率高了,但查询效率低了。

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
|--List:元素是有序的,元素可以重复。因为该集合体系有索引。
                |--ArrayList:底层的数据结构使用的是数组结构。特点:查询速度很快。但是增删稍慢。线程不同步。
                |--LinkedList:底层使用的链表数据结构。特点:增删速度很快,查询稍慢。线程不同步。

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报






如果你对数据结构熟悉的话,可以发现:

ArrayList内部为数组,所以查询很快,因为只要知道下标就行,但是如果有增删,很多元素的位置需要改变,效率低,
LinkList内部为链式结构,插入很快,查询很慢





评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
ArrayList 由数组实现,访问和查询速度很快,插入和删除元素时,要移动元素,效率低。
LinkList 由链式结构实现,插入和删除很快,访问查询速度较慢。

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马