java中的ArrayList与矢量之间的区别

时间:2020-02-23 14:34:04  来源:igfitidea点击:

"ArrayList和Vectory之间有什么区别"。

数组列表

  • ArrayList是列表接口的实现。
  • ArrayList不同步(所以没有线程安全)
  • ArrayList使用数组作为内部数据结构实现。可以动态调整大小。
  • ArrayList在其尺寸增加时增加其大小的一半。

向量

  • 矢量是列表接口的实现。
  • 矢量是同步的(所以螺纹安全)
  • 矢量是使用数组实现的,作为内部数据结构。可以动态调整大小。
  • 矢量加倍尺寸尺寸的尺寸增加。

ArrayList VS矢量:

参数矢量ArrayList
同步no
threadsafeno
性能它比ArrayList慢它比矢量更快
调整大小时数组内部大小的变化向量的大小增加时将其内部数组的大小增加一倍ArrayList的大小增加时将其大小增加一半。

哪个更好? ArrayList或者矢量?

它实际上取决于我们的需求。
Vector比ArrayList慢,因为它的方法是同步的,所以如果我们在多线程环境中工作,则ArrayList更好。

最佳实践:

当我们初始化ArrayList或者Vector时,始终以最大容量的初始化Java程序将需要递增大小是Costlier操作。

我们可以同步ArrayList吗?

是的,ArrayList也可以通过Collections.synchronizedList(arraylist)方法进行同步

List synchronizedArrayList=Collections.synchronizedList(arraylist);