1、Vector是多线程安全的,而ArrayList不是,如果只有一个线程会访问到集合,那最好是使用ArrayList,因为它不考虑线程安全,效率会高些;Vector是旧的,是java一诞生就提供了的,ArrayList是java2时才提供的。(可以拿Hashtable 与 HashMap 相比较)
2、两个都是采用的线性连续空间存储元素,但是当空间不足的时候,两个类的增加方式是不同的,Vector增加原来空间的一倍(默认大小10),ArrayList增加原来空间的50%(默认大小10).
3、Vector可以设置增长因子,而ArrayList不可以,Vector比Arraylist多一个构造方法,public Vector(int initialCapacity,int capacityIncrement)这个构造方法,capacityIncrement就是容量增长,即增长因子,ArrayList中是没有的。