欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  新闻

vector和arraylist的区别面试题(教你保证多线程顺序执行)

程序员文章站 2022-03-23 08:59:12
使用方式共同点:他们都实现了 list 接口(list 接口继承了 collection 接口),他们都是有序集合.不同点:线程安全:vector 使用了 synchronized 实现线程同步,是线...

使用方式

vector和arraylist的区别面试题(教你保证多线程顺序执行)

共同点:

他们都实现了 list 接口(list 接口继承了 collection 接口),他们都是有序集合.

不同点:

线程安全:

vector 使用了 synchronized 实现线程同步,是线程安全的.

vector和arraylist的区别面试题(教你保证多线程顺序执行)

arraylist 是非线程安全的。

vector和arraylist的区别面试题(教你保证多线程顺序执行)

性能:

arraylist 在性能方面要优于 vector.

扩容:

arraylist 和 vector 都会根据实际的需要动态地调整容量,只不过在 vector 扩容每次会增加 1 倍,而 arraylist 只会增加 50%。vector在创建时可以自己指定扩容的大小,arraylist不可以.

下面是arraylist的扩容方式:

vector和arraylist的区别面试题(教你保证多线程顺序执行)

vector在创建时可以自己指定扩容每次扩容时增加的大小

vector和arraylist的区别面试题(教你保证多线程顺序执行)

vector扩容:

vector和arraylist的区别面试题(教你保证多线程顺序执行)