首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
linkedlist arraylist内部是如何实现的。
[问答题]
linkedlist arraylist内部是如何实现的。
添加笔记
邀请回答
收藏(7)
分享
纠错
1个回答
添加回答
0
推荐
kington
ArrayList的内部实现是基于内部数组Object[],所以从概念上讲,它更像数组,但LinkedList的内部实现是基于一组连接的记录,所以,它更像一个链表结构,所以,它们在性能上有很大的差别。
在ArrayList的前面或中间插入数据时,必须将其后的所有数据相应的后移,这样必然要花费较多时间,所以,当你的操作是在一列数据的后面添加数据而不是在前面或中间,并且需要随机地访问其中的元素时,使用ArrayList会提供比较好的性能;
而访问链表中的某个元素时,就必须从链表的一端开始沿着连接方向一个一个元素地去查找,直到找到所需的元素为止,所以,当你的操作是在一列数据的前面或中间添加或删除数据,并且按照顺序访问其中的元素时,就应该使用LinkedList了。
如果在编程中,两种情形交替出现,这时,可以考虑使用List这样的通用接口,而不用关心具体的实现,在具体的情形下,它的性能由具体的实现来保证
编辑于 2015-02-03 21:27:00
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
链表
上传者:
l沐夏
难度:
1条回答
7收藏
3450浏览
热门推荐
相关试题
请问{1,0}与下面哪个值相等?
Verilog
评论
(1)
小A的线段(easy version)
dfs
评论
(1)
来自
华为机试编程模拟题5
在 Linux 中,下面关于 ne...
Linux
Linux
评论
(1)
以下给定的图形为纸盒的外表面,折叠...
判断推理
评论
(0)
分析以下代码 <div cl...
CSS
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
在ArrayList的前面或中间插入数据时,必须将其后的所有数据相应的后移,这样必然要花费较多时间,所以,当你的操作是在一列数据的后面添加数据而不是在前面或中间,并且需要随机地访问其中的元素时,使用ArrayList会提供比较好的性能;
而访问链表中的某个元素时,就必须从链表的一端开始沿着连接方向一个一个元素地去查找,直到找到所需的元素为止,所以,当你的操作是在一列数据的前面或中间添加或删除数据,并且按照顺序访问其中的元素时,就应该使用LinkedList了。
如果在编程中,两种情形交替出现,这时,可以考虑使用List这样的通用接口,而不用关心具体的实现,在具体的情形下,它的性能由具体的实现来保证