Java中Vector类的对象是静态大小的吗?
我在寻找这个问题的答案。 我从谷歌那里得到的东西-Java中Vector类的对象是静态大小的吗?,java,vector,Java,Vector,我在寻找这个问题的答案。 我从谷歌那里得到的东西- Java中的Java.util.Vector类。Vector类实现了一个可扩展的对象数组。向量基本上属于遗留类,但现在它与集合完全兼容。它们与ArrayList非常相似,但Vector是同步的,并且有一些收集框架不包含的遗留方法。由于Java管理自己的内存,请记住,我们不能确切地知道列表/缓冲区/数组的状态 向量,如ArrayList,有一个initialCapacity,可以在构造函数中传入参数。从此时起直到垃圾收集器运行,存储此initia
Java中的Java.util.Vector类。Vector类实现了一个可扩展的对象数组。向量基本上属于遗留类,但现在它与集合完全兼容。它们与ArrayList非常相似,但Vector是同步的,并且有一些收集框架不包含的遗留方法。由于Java管理自己的内存,请记住,我们不能确切地知道列表/缓冲区/数组的状态 向量,如ArrayList,有一个
initialCapacity
,可以在构造函数中传入参数。从此时起直到垃圾收集器运行,存储此initialCapacity
所需的大小分配给向量
与经典数组不同,向量和列表是可增长的。以下是向向量添加元素时发生的情况的快速说明:
- 如果向量未满,请将元素添加到向量
- 如果向量已满,则将向量的大小增加一倍
- 在内存管理方面,这意味着您需要重新分配向量。如果向量后的空间是自由的,则向量将使用此空间。否则,将分配另一块内存,并将整个向量移动到此块
capacityIncrement
)。默认值为2,因此容量增长非常快
向量是同步的,但不应该使用迭代器对其进行迭代:它们不是故障安全的(如果在迭代时修改了向量的结构,迭代器将不会更新)。这就是为什么使用锁和ArrayList通常比使用向量更安全(如果您知道如何正确使用锁的话)
您可以在这里获得更多详细信息:对不起,我不太明白您所说的“静态大小”是什么意思?答案将根据你所指的具体内容而有所不同。