2. Vector - 图3

  1. 基于数组(Array)的List,其实就是封装了数组所不具备的一些功能方便我们使用,所以它难易避免数组的限制,同时性能也不可能超越数组。所以,在可能的情况下,我们要多运用数组。另外很重要的一点就是Vector是线程同步的(sychronized)的,这也是VectorArrayList 的一个的重要区别。

image.png
image.png

image.png
解析:和数组的结构一样,只是增加了些额外的方法

一、特征

数组实现、 线程同步 (线程安全
Vector和ArrayList的实现方式可以看出非常的类似,既然Vector类建议尽量少的使用,还是最好不要用了,通过上面的源码发现,每个方法中都添加了synchronized的关键字来保证同步,所以它是线程安全的,但正是这些方法的同步,让它的效率大大的降低了,比ArrayList的效率要慢。image.png

image.png

二、CRUD

1. 构造函数

Vector() //创建一个默认的向量,默认大小为 10
Vector(int size) //创建指定大小的向量
Vector(int size,int incr) //创建指定大小的向量,并且增量用 incr 指定
Vector(Collection c) //创建一个包含集合 c 元素的向量

2. 常用方法

image.png
image.png
image.png