Vector

!!! note 目录

Vector

  • Vector中所有的方法都有synchronized修饰,所有方都是线程安全的。
  • 整体的执行效率较低,已经很少使用了而且现在保证线程安全有了新手段。

一、Vector的初始化容量

  1. 无参构造函数:使用 new Vector() 时,默认的初始容量是10。

    1
    Vector<Integer> vector = new Vector<>();
  2. 指定容量构造函数:使用 new Vector(int initialCapacity) 时,你可以显式地设置初始容量。例如:

    1
    Vector<Integer> vector = new Vector<>(20);  // 初始容量设置为20
  3. 指定容量和增量构造函数:使用 new Vector(int initialCapacity, int capacityIncrement) 可以设置初始容量和扩展时增加的容量。例如:

    1
    Vector<Integer> vector = new Vector<>(10, 5);  // 初始容量为10,每次扩展增加5个元素

二、Vector扩容策略

  1. 自动扩容: 当 Vector 的元素数量达到当前容量时,它会自动扩容。默认情况下,扩容操作会将内部数组的容量增加一倍。例如,如果当前容量为10,当达到10个元素时,扩容到20个元素。

  2. 容量增长因子: 可以通过构造函数来设置容量增长因子。例如,使用 new Vector<>(initialCapacity, capacityIncrement) 来指定每次扩容时容量增加的数量。如果不指定或设置为0,则默认容量增量为0.5倍(即容量乘以1.5):

    • 初始容量是10,如果容量增量是5,且当前容纳10个元素,当第11个元素被添加时,新的容量将是10 + 5 = 15。