参考路径:
java.util
类 Vector<E>
java.lang.Object java.util.AbstractCollection<E> java.util.AbstractList<E> java.util.Vector<E>
-
所有已实现的接口:
- Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess
-
直接已知子类:
- Stack
public class Vector<E>extends AbstractList<E>implements List<E>, RandomAccess, Cloneable, Serializable
Vector
类可以实现可增长的对象数组。与数组一样,它包含可以使用整数索引进行访问的组件。但是,
Vector
的大小可以根据需要增大或缩小,以适应创建
Vector
后进行添加或移除项的操作。
每个向量会试图通过维护
capacity
和
capacityIncrement
来优化存储管理。
capacity
始终至少应与向量的大小相等;这个值通常比后者大些,因为随着将组件添加到向量中,其存储将按
capacityIncrement
的大小增加存储块。应用程序可以在插入大量组件前增加向量的容量;这样就减少了增加的重分配的量。
从 Java 2 平台 v1.2 开始,已改进此类以实现 List,这样它就成为了 Java 的集合框架的一部分。与新集合的实现不同,Vector 是同步的。
由 Vector 的 iterator 和 listIterator 方法所返回的迭代器是
快速失败的:如果在迭代器创建后的任意时间从结构上修改了向量(通过迭代器自身的 remove 或 add 方法之外的任何其他方式),则迭代器将抛出 ConcurrentModificationException。因此,面对并发的修改,迭代器很快就完全失败,而不是冒着在将来不确定的时间任意发生不确定行为的风险。Vector 的 elements 方法返回的 Enumeration
不是 快速失败的。
注意,迭代器的快速失败行为不能得到保证,一般来说,存在不同步的并发修改时,不可能作出任何坚决的保证。快速失败迭代器尽最大努力抛出
ConcurrentModificationException。因此,编写依赖于此异常的程序的方式是错误的,正确做法是:
迭代器的快速失败行为应该仅用于检测 bug。
此类是
Java Collections Framework 的成员。
返回一个数组,包含此向量中以正确顺序存放的所有元素;返回数组的运行时类型为指定数组的类型。
返回此向量的字符串表示形式,其中包含每个元素的 String 表示形式。
对此向量的容量进行微调,使其等于向量的当前大小。
-
从以下版本开始:
- JDK1.0 另请参见:
-
Collection
,List
,ArrayList
,LinkedList
, 序列化表格
字段摘要 | |
---|---|
protected int | capacityIncrement 向量的大小大于其容量时,容量自动增加的量。 |
protected int | elementCount Vector 对象中的有效组件数。 |
protected Object[] | elementData 存储向量组件的数组缓冲区。 |
从类 java.util.AbstractList 继承的字段 |
---|
modCount |
构造方法摘要 | |
---|---|
Vector() 构造一个空向量,使其内部数据数组的大小为 10,其标准容量增量为零。 | |
Vector(Collection<? extends E> c) 构造一个包含指定集合中的元素的向量,这些元素按其集合的迭代器返回元素的顺序排列。 | |
Vector(int initialCapacity) 使用指定的初始容量和等于零的容量增量构造一个空向量。 | |
Vector(int initialCapacity, int capacityIncrement) 使用指定的初始容量和容量增量构造一个空的向量。 |
方法摘要 | |
---|---|
boolean | add(E o) 将指定元素追加到此向量的末尾。 |
void | add(int index, E element) 在此向量的指定位置插入指定的元素。 |
boolean | addAll(Collection<? extends E> c) 将指定 Collection 中的所有元素追加到此向量的末尾,按照指定集合的迭代器所返回的顺序追加这些元素。 |
boolean | addAll(int index, Collection<? extends E> c) 在指定位置将指定 Collection 中的所有元素插入到此向量中。 |
void | addElement(E obj) 将指定的组件添加到此向量的末尾,将其大小增加 1。 |
int | capacity() 返回此向量的当前容量。 |
void | clear() 从此向量中移除所有元素。 |
Object | clone() 返回向量的一个副本。 |
boolean | contains(Object elem) 测试指定的对象是否为此向量中的组件。 |
boolean | containsAll(Collection<?> c) 如果此向量包含指定 Collection 中的所有元素,则返回 true。 |
void | copyInto(Object[] anArray) 将此向量的组件复制到指定的数组中。 |
E | elementAt(int index) 返回指定索引处的组件。 |
Enumeration<E> | elements() 返回此向量的组件的枚举。 |
void | ensureCapacity(int minCapacity) 增加此向量的容量(如有必要),以确保其至少能够保存最小容量参数指定的组件数。 |
boolean | equals(Object o) 比较指定对象与此向量的相等性。 |
E | firstElement() 返回此向量的第一个组件(位于索引 0 处的项)。 |
E | get(int index) 返回向量中指定位置的元素。 |
int | hashCode() 返回此向量的哈希码值。 |
int | indexOf(Object elem) 搜索给定参数的第一个匹配项,使用 equals 方法测试相等性。 |
int | indexOf(Object elem, int index) 搜索给定参数的第一个匹配项,从 index 处开始搜索,并使用 equals 方法测试其相等性。 |
void | insertElementAt(E obj, int index) 将指定对象作为此向量中的组件插入到指定的 index 处。 |
boolean | isEmpty() 测试此向量是否不包含组件。 |
E | lastElement() 返回此向量的最后一个组件。 |
int | lastIndexOf(Object elem) 返回指定的对象在此向量中最后一个匹配项的索引。 |
int | lastIndexOf(Object elem, int index) 向后搜索指定的对象,从指定的索引处开始搜索,并返回一个索引。 |
E | remove(int index) 移除此向量中指定位置的元素。 |
boolean | remove(Object o) 移除此向量中指定元素的第一个匹配项,如果向量不包含该元素,则元素保持不变。 |
boolean | removeAll(Collection<?> c) 从此向量中移除包含在指定 Collection 中的所有元素。 |
void | removeAllElements() 从此向量中移除全部组件,并将其大小设置为零。 |
boolean | removeElement(Object obj) 从此向量中移除变量的第一个(索引最小的)匹配项。 |
void | removeElementAt(int index) 删除指定索引处的组件。 |
protected void | removeRange(int fromIndex, int toIndex) 从此 List 中移除其索引位于 fromIndex(包括)与 toIndex(不包括)之间的所有元素。 |
boolean | retainAll(Collection<?> c) 在此向量中仅保留包含在指定 Collection 中的元素。 |
E | set(int index, E element) 用指定的元素替换此向量中指定位置处的元素。 |
void | setElementAt(E obj, int index) 将此向量指定 index 处的组件设置为指定的对象。 |
void | setSize(int newSize) 设置此向量的大小。 |
int | size() 返回此向量中的组件数。 |
List<E> | subList(int fromIndex, int toIndex) 返回此 List 的部分视图,元素范围为从 fromIndex(包括)到 toIndex(不包括)。 |
Object[] | toArray() 返回一个数组,包含此向量中以正确顺序存放的所有元素。 |
|
<T> T[]
toArray(T[] a)
返回一个数组,包含此向量中以正确顺序存放的所有元素;返回数组的运行时类型为指定数组的类型。
String
toString()
返回此向量的字符串表示形式,其中包含每个元素的 String 表示形式。
void
trimToSize()
对此向量的容量进行微调,使其等于向量的当前大小。
从类 java.util.AbstractList 继承的方法 |
---|
iterator, listIterator, listIterator |
从类 java.lang.Object 继承的方法 |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
从接口 java.util.List 继承的方法 |
---|
iterator, listIterator, listIterator |
0
收藏
推荐专栏更多
猜你喜欢
我的友情链接
为Appach网站颁发企业证书
Java多线程编程总结
Java关键字final、static使用总结
java万年历简单制作
Java内部类的使用小结
Java中的main()方法详解
Java相对路径读取文件
Java线程:创建与启动
Java线程:线程的同步与锁
深入研究java.lang.ThreadLocal类
java.util.logging.Logger使用详解
大话微服务」深入聊聊SpringCloud之客户端负载均衡机制
Spring Boot 中 10 行代码构建 RESTful 风格应用
Java核心库实现AOP过程
RabbitMQ如何保证队列里的消息99.99%被消费?
几种简单的负载均衡算法及其Java代码实现
RabbitMQ如何保证消息99.99%被发送成功?
IT兄弟连 JavaWeb教程 经典案例
在阿里架构师眼中构建一个较为通用的业务技术架构就是如此简单
![f92360e227f9d91cdff7ea95120630ef.png](https://i-blog.csdnimg.cn/blog_migrate/224cfb471d126971b1596dad7c9cd022.png)
![left-qr.jpg](https://i-blog.csdnimg.cn/blog_migrate/70bc5c3884aa823724e684bce77428e2.jpeg)
扫一扫,领取大礼包
转载于:https://blog.51cto.com/nihaiou/274570
Ctrl+Enter 发布
发布
取消