Java(List接口)集合Vector源码分析
概述
和ArrayList很类似,都是以动态数组的形式来存储数据。
Vector是线程安全的,每个操作方法都加的有synchronized关键字,针对性能来说会比较大的影响,慢慢就被放弃了。
public E get(int index) {
synchronized (mutex) {return list.get(index);}
}
public E set(int index, E element) {
synchronized (mutex) {return list.set(index, element);}
}
public void add(int index, E element) {
synchronized (mutex) {list.add(index, element);}
}
public E remove(int index) {
synchronized (mutex) {return list.remove(index);}
}
Collections工具类可以将List接口中线程不安全的工具类转换为线程安全的对象
可以增加代码的灵活度,在我们需要同步是时候就通过如下代码实现
List syncList = Collections.synchronizedList(list);