vector和arraylist的区别面试题(教你保证多线程顺序执行)
程序员文章站
2022-03-23 08:59:12
使用方式共同点:他们都实现了 list 接口(list 接口继承了 collection 接口),他们都是有序集合.不同点:线程安全:vector 使用了 synchronized 实现线程同步,是线...
使用方式
共同点:
他们都实现了 list 接口(list 接口继承了 collection 接口),他们都是有序集合.
不同点:
线程安全:
vector 使用了 synchronized 实现线程同步,是线程安全的.
arraylist 是非线程安全的。
性能:
arraylist 在性能方面要优于 vector.
扩容:
arraylist 和 vector 都会根据实际的需要动态地调整容量,只不过在 vector 扩容每次会增加 1 倍,而 arraylist 只会增加 50%。vector在创建时可以自己指定扩容的大小,arraylist不可以.
下面是arraylist的扩容方式:
vector在创建时可以自己指定扩容每次扩容时增加的大小
vector扩容: