java集合(八) ---- Vector 类
目录
八、Vector 类
8.1 位置
8.2 特点
8.3 与 ArrayList 类的区别
8.4 构造方法
8.5 常用方法
八、Vector 类
8.1 位置
Vector 类位于 java.util
包下
8.2 特点
- 是 List 接口的实现类
- 底层是用一个 Object 数组来存储数据
8.3 与 ArrayList 类的区别
- Vector 类在构造方法时,就创建一个容量为 10 的数组。ArrayList 类在构造方法时,创建一个容量为 0 的数组,只有在第一次加入元素时,进行扩容,扩容成容量为 10 的数组
- Vector 类扩容时,如果给定了capacitylncrement,则新的数组大小为原有数组大小 + capacitylncrement,否则扩容为原有大小的 2 倍。ArrayList 类每次扩容都是原有大小的1.5倍
- Vector 类所有方法都用 synchronized 修饰,所以 Vector 类是线程安全的。ArrayList 类是线程不安全的,但在实际情况,用工具类 Collections 的方法 synchronizedList() 将 ArrayList 类变成线程安全的来使用
- 除此之外,两者的底层原理和算法几乎一摸一样
8.4 构造方法
public Vector() | |
作用 | 创建一个初始容量为 10 的 Vector 对象 |
public Vector(int initialCapacity) | |
作用 | 创建一个具有特定初始容量 initialCapacity 的 Vector 对象 |
public Vector(int initialCapacity,int capacityIncrement) | |
作用 | 创建一个具有特定初始容量 initialCapacity 且具体指定扩容量的 Vector 对象 |
public Vector(Collection<? extends E> c) | |
作用 | 创建一个包含指定集合 c 的 Vector 对象 |
8.5 常用方法
参考 List 接口
List接口