Vector底层结构和源码剖析
Vector的基本介绍
- vector类的定义说明
![截屏2023-07-07 15.33.26](/Users/aosoaoao/Library/Application Support/typora-user-images/截屏2023-07-07 15.33.26.png)
- Vector底层也是一个对象数组,protected Object[] elementData;
- Vector是线程同步的,即线程安全,Vector类的操作方法带有Synchronized
- 在开发中,如果要考虑线程同步安全的时候,考虑使用Vector
Vector和ArrayList的比较
底层结构 | 版本 | 线程安全(同步)效率 | 扩容倍数 | |
---|---|---|---|---|
ArrayList | 可变数组 | Jdk1.2 | 不安全,效率高 | 如果是有参1.5倍,如果是无参1.第一次10 2.第二次按照1.5倍扩容 |
Vector | 可变数组 Object[] | Jdk1.0 | 安全,效率低 | 如果是无参,默认10,满后,就按照2倍扩容 如果是有参则每次按照两倍扩 |