1. 基本介绍
(1)Vector类实现了List接口,是List接口的实现子类。
(2)Vector底层是一个对象数组(源码:protected Object[] elementData;)。
(3)Vector是线程同步的(即 线程安全),Vector类的方法基本都有synchronized修饰(做线程安全的处理)。
(4)在开发中,需要线程同步安全时,考虑使用Vector。
(5)Vector的底层源代码和ArrayList基本相似,只是在数组扩容时,Vector是按照2倍进行扩容。
2. Vector 和 ArrayList 比较
底层结构 | 版本 | 线程安全(同步)效率 | 扩容倍数 | |
ArrayList | 可变数组 | JDK 1.2 | 不安全 效率高 | 1.有参构造是1.5倍 2.无参构造器第一次是10,第二次以及之后是1.5倍扩容 |
Vector | 可变数组 | JDK 1.0 | 安全 效率低 | 1.有参构造是2倍 2.无参构造器第一次是10,第二次以及之后是2倍扩容 |