Java 的Vector, ArrayList, LinkedList 区别简述
来源:互联网 发布:记事本软件 编辑:程序博客网 时间:2024/06/06 22:06
三个对象的应用场景
用于参照插入/删除操作多线程处理(同期)Vector○×○ArrayList○××LinkedList×○×
Vector Java1.0 时代
ArrayList LinkedList Java2.0时代
先说一下由来:
Vector 是最早的List类型处理对象,默认对应多线程处理,多线程同时访问的时候,可以确保数据的整合性。
但是正应为这样,往往只有在单线程上处理的工作,因为做了很多针对多线程的工作使得性能低下,
针对这一问题,2.0时代推出了 ArrayList 和LinkedList,天生单线程,但需要装逼时(多线程对应)可通过包装实现。(真是高逼格啊,Vector估计后悔出来太早。。。 。。。)
下面是ArrayList 和LinkedList的封装过程,封装后就可以多线程对应,确保数据整合了
List syncList = Collections.synchronizedList(new ArrayList(...));
至于用于参照,还是用于插入,这个从字面应该就能理解了
Vector 和ArrayList在内存上是有Index索引的,可以实现快速访问,但问题是一个萝卜一个坑固然是好,可要是非的在两个萝卜中间插一个,那这个活就麻烦了。说白了,从要变的位置开始各种Copy,性能自然好不了。不过你要是想按位置找萝卜(参照),那当然一找一个准了
LinkedList 在保存上,是用链式结构的,就像小朋友手拉手玩游戏,你要想插进去,就先找好位置,再去和你要插入位置两边的小朋友说一说(当然有可能人家不愿意,那另说),然后两人分开手,你再和他们牵上,这不就搞定了。同理,要走(删除)也简单
0 0
- Java 的Vector, ArrayList, LinkedList 区别简述
- Java中Vector、ArrayList、LinkedList的区别
- java ArrayList Vector LinkedList的区别
- Java中ArrayList、Vector、 LinkedList的区别
- Java ArrayList、LinkedList、Vector的区别
- Java Vector ArrayList LinkedList 区别
- ArrayList,LinkedList,Vector的区别
- LinkedList ArrayList Vector的区别
- Vector,ArrayList, Linkedlist的区别
- Arraylist,LinkedList,vector的区别
- ArrayList、LinkedList、Vector的区别
- ArrayList,Vector,LinkedList的区别
- ArrayList LinkedList Vector的区别
- ArrayList、LinkedList、Vector的区别
- ArrayList、LinkedList、Vector的区别
- ArrayList,LinkedList,Vector的区别
- ArrayList,LinkedList,Vector的区别
- ArrayList、LinkedList、Vector的区别
- strcpy函数
- 搭建Hadoop集群中遇到的坑
- android 5.0 SystemUI界面
- 认识一下这对双胞胎
- Sublime Text 3 《第四章 - 插件》
- Java 的Vector, ArrayList, LinkedList 区别简述
- 更新导航条静态数据 Monxin专用(PHP代码函数)
- 正则表达式matcher.group用法
- 前端开发框架对比
- 翻页(PHP代码函数)
- C#列表 定时器的管理
- activeMq 通讯
- 经典语录,多看看终身受益
- eclipse 配置tomcat ubuntu