java中的Vector

Python09

java中的Vector,第1张

vector和arraylist都是差不多的,会用arraylist就可以用vector,但是arraylist速度比它快,但是如果涉及到多线程,就用vector,例子演示直接看文档,或者网上查一下,写了也是废话,第二不就是容器吗,一个vector里有一堆装着string的vector,用法一样,就是多了个容器,会有类型检查,其他类型的放不就去

Vector 类可以实现可增长的对象数组。与数组一样,它包含可以使用整数索引进行访问的组件。但是,Vector 的大小可以根据需要增大或缩小,以适应创建 Vector 后进行添加或移除项的操作。 每个向量会试图通过维护 capacity 和 capacityIncrement 来优化存储管理。capacity 始终至少应与向量的大小相等;这个值通常比后者大些,因为随着将组件添加到向量中,其存储将按 capacityIncrement 的大小增加存储块。应用程序可以在插入大量组件前增加向量的容量;这样就减少了增加的重分配的量。 由 Vector 的 iterator 和 listIterator 方法所返回的迭代器是快速失败的:如果在迭代器创建后的任意时间从结构上修改了向量(通过迭代器自身的 remove 或 add 方法之外的任何其他方式),则迭代器将抛出 ConcurrentModificationException。因此,面对并发的修改,迭代器很快就完全失败,而不是冒着在将来不确定的时间任意发生不确定行为的风险。Vector 的 elements 方法返回的 Enumeration 不是 快速失败的。 注意,迭代器的快速失败行为不能得到保证,一般来说,存在不同步的并发修改时,不可能作出任何坚决的保证。快速失败迭代器尽最大努力抛出 ConcurrentModificationException。因此,编写依赖于此异常的程序的方式是错误的,正确做法是:迭代器的快速失败行为应该仅用于检测 bug。

vector 是一个集合,简单来说类似数组的功能,不过它是可变长的。

java中,数组对象一旦创建后,其元素的个数不能被修改。Vector类(向量)提供类似于数组的能力,且能够动态地调整自身的大小。Vector类似于一个数组,但与数组相比在使用上有两个优点:

① 使用的时候无须声明上限,随着元素的增加,Vector的长度会自动增加;

② Vector类提供额外的方法来增加、删除元素,比数组操作高效

顺便说一下这个是线程安全的。