容器--ArrayList、Vector、LinkList
2016-06-15 22:30
246 查看
ArrayList、Vector
这两种和数组一样都是顺序存储(比数组方便的是:无需事先定义容器大小),所以通过下标访问速度较快,但在元素中间插入、删除元素,效率较低,需要对元素进行移动。两者不同的是:两者实际在声明时会定义容器大小,当超过这个容量时,会进行扩充,Vector默认扩充为原来的2倍,ArrayList默认扩充原来的1.5倍。
Vector优于ArrayList的地方是:Vector是线程安全的而ArrayList不是。
LinkedList
链式(双向链表存储)方式,对数组索引必须从头开始遍历,但插入、删除效率较高,非线程安全。
线程安全:在一个时间点,只能有一个线程可以修改此对象,任何线程在修改此对象时,都需要获取该对象锁,其他线程则等待对象锁的释放。
这两种和数组一样都是顺序存储(比数组方便的是:无需事先定义容器大小),所以通过下标访问速度较快,但在元素中间插入、删除元素,效率较低,需要对元素进行移动。两者不同的是:两者实际在声明时会定义容器大小,当超过这个容量时,会进行扩充,Vector默认扩充为原来的2倍,ArrayList默认扩充原来的1.5倍。
Vector优于ArrayList的地方是:Vector是线程安全的而ArrayList不是。
LinkedList
链式(双向链表存储)方式,对数组索引必须从头开始遍历,但插入、删除效率较高,非线程安全。
线程安全:在一个时间点,只能有一个线程可以修改此对象,任何线程在修改此对象时,都需要获取该对象锁,其他线程则等待对象锁的释放。
相关文章推荐
- 重构笔记
- vs环境下,用c++使用微软word提供的com接口
- 扎金花
- Android动态切换多个View的可编辑/不可编辑模式
- 字符串题模板集合
- 【转】eclipse新建项目,报错“Error: workspace\appcompat_v7\res\values-v21\styles_base.xml No resource found that matches the given name”
- Hi3520 SDK 在ubuntu下安装说明
- Windows Azure 平台重置Linux密码的方法
- Android中Activity的启动模式
- 畅通工程续
- 傅里叶变换趣谈
- 11
- 01、html常用标签
- 简易php博客(3)_后台登陆
- learning to rank
- PHP 判断值为整数
- IAT随便HOOK+反检测方法
- C学习笔记
- Lettcode_344_Reverse String
- Struts中配置的result