java arraylist 与 vector 的区别
时间:2018-11-14
本文章向大家介绍java arraylist 与 vector 的区别,需要的朋友可以参考一下
ArrayList与Vector的区别, 这主要包括两个方面:. 1.同步性: Vector是线程安全的, 也就是说是它的方法之间是线程同步的, 而ArrayList是线程序不安全的, 它的方法之间是线程不同步的。 如果只有一个线程会访问到集合, 那最好是使用ArrayList, 因为它不考虑线程安全, 效率会高些; 如果有多个线程会访问到集合, 那最好是使用Vector, 因为不需要我们自己 再去考虑和编写线程安全的代码。 备注: 对于Vector&ArrayList、Hashtable&HashMap, 要记住线程安全的问题, 记住Vector与Hashtable是旧的, 是java一诞生就提供了的, 它们是线程安全的, ArrayList与HashMap是java2时才提供的, 它们是线程不安全的。 2.数据增长: ArrayList与Vector 都有一个初始的容量大小, 当存储进它们里面的元素的个数超过了容量时, 就需要增加ArrayList与Vector的存储空间, 每次要增加存储空间时, 不是只增加一个存储单元, 而是增加多个存储单元, 每次增加的存储单元的个数 在内存空间利用与程序效率之间 要取得一定的平衡。 Vector默认增长为原来两倍, 而ArrayList的增长策略 在文档中没有明确规定 从源代码看到的是增长为原来的1.5倍。 ArrayList与Vector都可以设置初始的空间大小, Vector还可以设置增长的空间大小, 而ArrayList没有提供 设置增长空间的方法。 总结: 即Vector增长原来的一倍, ArrayList增加原来的0.5倍。
- HDUOJ---1233还是畅通工程
- HDUOJ---1863畅通工程
- HDUOJ---1879 继续畅通工程
- MySQL命令行工具:percona-toolkit安装使用初探
- 解决Nginx配置http2不生效,谷歌浏览器仍然采用http1.1协议问题
- 海量数据切分抽取的实践场景(r11笔记第43天)
- 使用shell自动化诊断性能问题(一)(r11笔记第41天)
- Data Guard实现故障自动切换(二)(r11笔记第40天)
- Oracle Data Guard延迟的原因(r11笔记第69天)
- 一个细小的空间问题触发的报警(r11笔记第68天)
- MySQL误操作数据恢复的简单实践(r11笔记第67天)
- Oracle 12c中JOB运行失败的简单处理(r11笔记第66天)
- MySQL中的半同步复制(r11笔记第65天)
- Linux系统LVM逻辑卷创建过程以及自动化脚本
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- SAP C4C里如何创建两个具有依赖关系的下拉菜单
- 温故知新——Spring AOP
- tf.random_shuffle 函数
- IndexError: dimension specified as 0 but tensor has no dimensions
- 死磕YOLO系列,YOLOv2的自我修养
- three.js 几何体(二)
- three.js 几何体(三)
- three.js 几何体-组合网格
- three.js 曲线
- three.js 着色器材质之变量(一)
- three.js 着色器材质之变量(二)
- three.js 着色器材质之变量(三)
- three.js 绘制3d地图
- three.js 图形用户界面工具GUI
- three.js 着色器材质之纹理