社区
Java SE
帖子详情
ArrayList和LinkedList的用法区别?
wcz12345678
2012-03-05 08:03:10
如题
...全文
179
14
打赏
收藏
ArrayList和LinkedList的用法区别?
如题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xieyizhuo
2012-03-06
打赏
举报
回复
别慌,我给你个最朴实的说法吧~link是链表,array是数组,两个的差别:
link【数据】【指针】...array是【数据】【数据】...使用上的区别就是link方便改动,因为:只要改变一个指针就行;但是不方便查找,因为:如果一直第一个的地址,要找第10000个数据,需要从经过【数据】【指针】--》【数据】【指针】一共9999次;
array正好相反:改动的时候因为地址连续,所以需要for()然后把后面的地址依次改动(很费事儿);而查找很方便只需要在第一个基础上加上一定的数值,就可以找到某个元素了,因为它的地址是连续的~
大致是这么个意思,实际上link还有增强版的哦~需要的话请回复~不需要请给分,呵呵~
jake512
2012-03-06
打赏
举报
回复
用法几乎一样,就是LinkedList可以从后向前查找。即双向查找。
bawgiitx
2012-03-06
打赏
举报
回复
容量也有区别
ArrayList最大的2g-1
LinkedList则不限大小
Acesidonu
2012-03-05
打赏
举报
回复
[Quote=引用 4 楼 ihrthk 的回复:]
1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。
这一点要看实际情况的。若只对单条数据插入或删除,ArrayL……
[/Quote]
++
lxy15329
2012-03-05
打赏
举报
回复
听说ArrayList使用起来性能比LinkedList高,不过我也没试过,就是平时时候用ArrayList用的会多些
jiakai0419
2012-03-05
打赏
举报
回复
[Quote=引用 1 楼 ldh911 的回复:]
主要是数据结构上有差异(学校教的数据结构还记得么?),用法也就应该跟着其数据结构的特色来选用。
顾名思义:
ArrayList是以数组为基础的List实现,那么其随机访问性能很高,但插入某节点和删除某节点就不那么高效了;
LinkedList是以双向链表为基础的List实现,那么其增加删除的性能很高,但随机定位访问就没那么好了。
剩下的就是靠你自己根据场合来判断和选择。
[/Quote]
+1
Ajava攻城师
2012-03-05
打赏
举报
回复
没事干的 多翻翻API 以及 看看JDK的源码 还是有好处的 别人没教你的都可以自己领悟 岂不更好?
Chq9034
2012-03-05
打赏
举报
回复
查API不是更好,他们都实现了List接口,但是又都向不同方向扩展了一些方法,自己查吗,学习是自己的
Ajava攻城师
2012-03-05
打赏
举报
回复
API有详细说明,在结合数据结构、源码,其大概特点就或多或少知道些了
ihrthk
2012-03-05
打赏
举报
回复
1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。
这一点要看实际情况的。若只对单条数据插入或删除,ArrayList的速度反而优于LinkedList。但若是批量随机的插入删除数据,LinkedList的速度大大优于ArrayList. 因为ArrayList每插入一条数据,要移动插入点及之后的所有数据。 这一点我做了实验。在分别有200000条“记录”的ArrayList和LinkedList的首位插入20000条数据,LinkedList耗时约是ArrayList的20分之1。
xiazdong
2012-03-05
打赏
举报
回复
ArrayList是数组实现的;
优点:寻找某个元素快;
缺点:添加删除慢
LinkedList是链表实现的;
缺点:寻找某个元素慢;
优点:添加删除快
他们都是线性表,API应该没什么大区别。
MiceRice
2012-03-05
打赏
举报
回复
主要是数据结构上有差异(学校教的数据结构还记得么?),用法也就应该跟着其数据结构的特色来选用。
顾名思义:
ArrayList是以数组为基础的List实现,那么其随机访问性能很高,但插入某节点和删除某节点就不那么高效了;
LinkedList是以双向链表为基础的List实现,那么其增加删除的性能很高,但随机定位访问就没那么好了。
剩下的就是靠你自己根据场合来判断和选择。
Array
List
Vector
Link
ed
List
区别
与
用法
.
Array
List
Vector
Link
ed
List
区别
与
用法
.
Array
List
-
Link
ed
List
--Vector-Map.zip_vector
Array
List
、
Link
ed
List
、 Vector、Map
用法
比较
Java数据存储类型
Array
List
、HashSet、HashMap、
Link
ed
List
使用不同遍历方法效率研究By Python
Java不同数据存储类型使用不同遍历方法效率研究 GitHub代码仓库 数据存储类型
Array
List
HashSet HashMap
Link
ed
List
遍历方法 传统遍历方法 for(int i=0;i<
list
.size();i++) { String str =
list
.get(i); ... } 内置迭代器 for (String str :
list
) { ... } 显式迭代器 Iterator it =
list
.iterator(); while(it.hasNext()) { String str = it.next(); ... }
Java中的
Array
List
的底层源码解读、
Link
ed
List
、Vector的
区别
介绍
内容概要:Arrya
List
的底层源码分析,时间复杂度的介绍、自动扩容机制的源码分析、add方法、remove方法的底层源码深度解析、modcount的作用、相关数据结构的分析、介绍和比较。 适用人群:JavaSE初学者,对源码感兴趣的,想要深度了解
Array
List
底层实现、数据结构、add方法、Remove方法、以及自动扩容机制的同学,并且对
Array
List
已经有过使用,想要学习它与
Link
ed
List
,Vector等的
区别
,该文档为md文档,需要大家自行下载Typora软件进行查看。 能学到什么:
Array
List
的源码分析,自动扩容和自动缩容的源码分析,相关参数的深度解析,从是什么,为什么,怎么做三个角度进行讲解,用通俗易懂的白话进行介绍,
Link
ed
List
和Vector以及
Array
List
的
区别
以及使用场景,时间复杂度的介绍,相关数据结构的介绍和对比,
Link
ed
List
的折半查找原理 阅读建议:结合代码进行阅读,在阅读的时候进行代码的比对,以及做笔记,结合自己不懂的地方反复观看,源码解读较为枯燥,文档中的步骤给的都很详细,需要大家结合源码一步一步的跟着步骤进行阅读,
JavaCourse-Play
list
:这是一个使用
Array
List
和
Link
ed
List
创建专辑和播放列表的项目。 该任务是在有关Udemy的Java课程中分配的
Java课程播放列表 这是一个使用
Array
List
和
Link
ed
List
创建专辑和播放列表的项目。 该任务是在有关Udemy的Java课程中分配的。 添加了Play()方法以通过在控制台上显示不同的播放器选项来可视化项目。
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章