Vector
特性
Vector集合也实现了List接口,是一个古老的集合类,现在用的比较少,他与ArrayList唯一的区别在于,他线程安全,看源码知道他的大部分方法添加了synchronized修饰。所以保证了线程安全,也同时导致了性能比较差,我们再使用线程安全的List集合时,现在一般使用CopyOnWriteArrayList。
源码
基本与ArrayList一致,ArrayList源码分析这里我只看一个方法,对于集合的get方法来说,是允许多线程并发访问的,但是这里同样添加了synchronized关键字修饰,这就是导致了并发查询时效率比较低。
public synchronized E get(int index) {
if (index >= elementCount)
throw new ArrayIndexOutOfBoundsException(index);
return elementData(index);
}