ArrayList和Vector的的相同点:
1、底层实现都是基于数组
2、理论存储最大元素容量是Integer.MAX_VALUE(2^31-1)
3、他们继承的类和实现的接口都是一样的
jdk1.8中ArrayList类的截图
jdk1.8中Vector类的截图
4、他们的默认初始化大小都是10
ArrayList和Vector的的不同点:
1、ArrayList是线程不安全的,相对速度快一些,Vector是线程安全的,Vector的线程安全是使用同步关键字
(synchronized)实现的
下面以添加方法为例子,从源码区分其区别
jdk1.8中ArrayList类中添加方法的截图
jdk1.8中Vector类中添加方法的截图
2、当其容量超过初始值时,扩容大小不一致。ArrayList扩容原有初始容量的50%,而Vector扩容原有初始容量的100%
当然是前提是创建Vector对象时没有设定他的扩容大小。即没有使用他的需要设定初始大小,和扩容大小的构造函数。