【转】ArrayList与LinkedList的区别和适用场景
ArrayList
优点:ArrayList是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询操作效率会比较高(在内存里是连着放的)。
缺点:因为地址连续,当要插入和删除时,Arraylist要移动数据,所以插入和删除操作效率比较低。
LinkedList
优点:LinkedList是基于链表的数据结构,地址是任意的,所以在开辟内存空间时不需要等一个连续的地址,对于新增和删除操作add和remove,LinkedList比较占优势。
缺点:因为LinkedList要移动指针,所以查询操作性能比较低。
适用场景分析
当需要对数据进行对齐访问的情况下选用ArrayList,当需要对数据进行多次增加删除修改时选用LinkedList。
转载自《ArrayList与LinkedList的区别和适用场景》
【转】ArrayList与LinkedList的区别和适用场景的更多相关文章
- LintCode Reverse LinkedList (ArrayList 和 LinkedList 的区别)
		1. ArrayList 和 LinkedList 的区别 http://pengcqu.iteye.com/blog/502676 2. How to reverse LinkedList http ... 
- 你真的说的清楚ArrayList和LinkedList的区别吗
		参见java面试的程序员,十有八九会遇到ArrayList和LinkedList的区别?相信很多看到这个问题的人,都能回答个一二.但是,真正搞清楚的话,还得花费一番功夫. 下面我从4个方面来谈谈这个问 ... 
- java集合框架05——ArrayList和LinkedList的区别
		前面已经学习完了List部分的源码,主要是ArrayList和LinkedList两部分内容,这一节主要总结下List部分的内容. List概括 先来回顾一下List在Collection中的的框架图 ... 
- Java中ArrayList与LinkedList的区别
		Java中ArrayList与LinkedList的区别 一般大家都知道ArrayList和LinkedList的区别: 1. ArrayList的实现是基于数组,LinkedList的实现是基于双向 ... 
- Java进阶(十七)ArrayList与LinkedList的区别
		ArrayList与LinkedList的区别 ArrayList ArrayList其实是包装了一个数组 Object[],当实例化一个ArrayList时,一个数组也被实例化,当向ArrayLis ... 
- JAVA中ArrayList与LinkedList的区别以及对应List使用foreach与使用下标遍历的效率问题
		近期在做一个对接京东的电商平台,所以对各个地方的效率考虑的比较多,今天深挖了一下ArrayList与LinkedList的区别以及对应List使用foreach与使用下标遍历的效率问题,首先说一下两种 ... 
- 理解ArrayList与LinkedList的区别
		一.先来看看ArrayList与LinkedList 在JDK中所在的位置 从图中可以看出,ArrayList与LinkedList都是List接口的实现类,因此都实现了List的所有未实现的方法,只 ... 
- java集合框架之ArrayList与LinkedList的区别
		参考http://how2j.cn/k/collection/collection-arraylist-vs-linkedlist/690.html#nowhere ArrayList和LinkedL ... 
- Java自学-集合框架 ArrayList和LinkedList的区别
		ArrayList和LinkedList的区别 步骤 1 : ArrayList和LinkedList的区别 ArrayList ,插入,删除数据慢 LinkedList, 插入,删除数据快 Arra ... 
随机推荐
- canvas绘图history妙用
			function palette(canvas,ctx){ //初始化画布内部元素默认样式 this.strokeColor = 'red'; //默认选中红色触发颜色 this.fillColor ... 
- springMVC中a标签传递多个参数到后台的应用
			1.js页面:返回json填充HTML部分代码 <a class='byCard' href="+path+"/static/toCardView/"+ data. ... 
- bzoj千题计划317:bzoj4650: [Noi2016]优秀的拆分(后缀数组+差分)
			https://www.lydsy.com/JudgeOnline/problem.php?id=4650 如果能够预处理出 suf[i] 以i结尾的形式为AA的子串个数 pre[i] 以i开头的形式 ... 
- Eclipse创建SpringMVC,Spring, Hibernate项目
			创建一个java project,创建连个folder,分别命名为java和webapp,删除src文件夹. 打开工程的propertise设置中的build to path,将输出设置为工程名\we ... 
- Windows 常用的运行命令
			1. 打开程序 1) calc 计算器 2) notepad 记事本 3) write ... 
- bash test命令探秘
			shell 测试条件命令 http://blog.csdn.net/yangruibao/article/details/7427503 test 和 [ 命令 虽然 Linux 和 UNIX 的每个 ... 
- 俄罗斯方块部分功能(Java)
			package OO.day01; public class TetrisCell { int totalRow = 20; int totalcol = 10; //定义横宽 int row; in ... 
- 【LeetCode】134.Gas Station
			Problem: There are N gas stations along a circular route, where the amount of gas at station i is ga ... 
- Linux修改MAC地址方法
			Linux修改MAC地址方法 - Linux modifies MAC address method ifconfig wlan0 down ifconfig wlan0 hw ether MAC地址 ... 
- python-类型转化
			s='1234' a=int(s) 字符串转换成整数 s=str(a) 整数转换成字符串 
