小编典典

ArrayList 和 Vector 有什么区别?

all

ArrayListVector 这两种数据结构有什么区别,应该在哪里使用它们?


阅读 111

收藏
2022-03-23

共1个答案

小编典典

差异

  • 向量是同步的,ArrayLists 不是。
  • 数据增长方法

如果没有使用 Vectors 的特定要求,请使用 ArrayLists。

同步

如果多个线程同时访问一个
ArrayList,那么我们必须在外部同步修改列表的代码块,该代码块要么在结构上修改列表,要么只修改一个元素。结构修改意味着从列表中添加或删除元素。设置现有元素的值不是结构修改。

Collections.synchronizedList通常在创建列表时使用,以避免对列表的任何意外不同步访问。

数据增长

在内部,ArrayList 和 Vector 都使用 Array 保存它们的内容。将元素插入 ArrayList 或 Vector
时,如果对象空间不足,则需要扩展其内部数组。 Vector 默认将其数组大小增加一倍,而 ArrayList 将其数组大小增加 50%。

2022-03-23