ArrayList和Vector的区别?
首先两个类都实现了List接口。他们都是有序不唯一的集合,说白了就是存储元素的位置是有序的(每一个元素都以一个对应的索引),相当于一个动态数组
ArrayList和Vector的区别,主要包括两个方面
同步性:
Vector是线程安全的,也就是说它的方法直线是线程同步的,而ArrayList是线程不安全的,它的方法之间是线程不同步的
如果只有一个线程去访问集合那么使用ArrayList,他不考虑线程安全的问题,所以效率会高一些
如果是多个线程去访问集合,那么使用Vector
数据增长性:
ArrayList和Vector集合都有一个初始容量的大小,当元素的个数超过存储容量是,就需要增加ArrayList和Vector的存储空间,每次增加不是
增加一个而是增加多个,Vector是增加原来的两倍,ArrayList没有明文规定,但是从源码中可以看出增长原来的1.5倍
ArrayList和Vector可以设置初始的存储空间的大小,Vector还以设置增长空间大小,而ArrayList不可以。