共同点:
1、ArrayList和Vector都实现了List接口
2、ArrayList有的方法Vector大多数也都有(不完全一样)
3、底层实现都是数组
不同点:
1、ArrayList是线程不安全的,Vector是线程安全的。(Vector把所有的public修饰的对外提供的方法都使用synchronized修饰,使用synchronized关键字来保证线程安全的)。类似的还有HashMap和HashTable,StringBuild和StringBuffer。
2、ArrayList扩容为原数组长度的1.5倍,Vector默认扩容为原数组长度的2倍(Vector可以指定capacityIncrement每次扩容的大小)
3、ArrayList的效率比Vector效率要高(因为Vector方法使用了通过锁)
以上区别都是通过读完ArrayList和Vector源码之后总结出来的。