ArrayList和Vector的异同
ArrayList
-
-
ArrayList底层由数组实现
-
ArrayList基本等同于Vector, ArrayList是线程不安全的(没有synchronized关键字修饰),(执行效率高),在多线程情况下,不建议使用ArrayList
Vector
-
-
Vector是线程同步的,即线程安全,Vector类的操作方法带有synchronized修饰符
-
开发中,需要线程同步安全时,考虑使用Vector
总结
| 名称 | 底层结构 | 版本 | 线程安全(同步)效率 | 扩容倍数 |
|---|---|---|---|---|
| ArrayList | 可变数组 | jdk1.2 | 不安全,效率高 | 如果有参构造,按1.5倍扩容 如果是无参 1.默认是10 2.从第二次开始按1.5倍 |
| Vector | 可变数组 | jdk1.0 | 安全,效率不高 | 如果指定大小,则每次直接按2倍扩容 |

浙公网安备 33010602011771号