Vector 向量实现了一个动态数组。它类似于ArrayList,但有两点不同:
Vector是同步的。
向量包含不属于集合框架的一部分许多传统方法。
向量被证明是非常有用的,如果不事先知道数组的大小或者只是需要一个可以在一个程序的生命周期变化的大小。
Vector类支持四种构造函数。第一种形式创建一个默认的向量,其中有10的初始大小:
Vector( )
第二种形式创建一个向量,其初始容量由size指定:
Vector(int size)
第三种形式创建了一个向量,其初始容量是由大小和由incr指定的增量指定。增量指定元素的数目,以在每次分配该载体被向上调整:
Vector(int size, int incr)
第四种形式创建一个包含集合c的元素的向量:
Vector(Collection c)
除了从它的父类继承的方法,矢量定义了以下方法:
SN | 方法及描述 |
---|---|
1 | void add(int index, Object element) 插入在此向量的指定位置插入指定的元素。 |
2 | boolean add(Object o) 将指定的元素添加到此向量的末尾。 |
3 | boolean addAll(Collection c) 所有追加在指定集合的元素添加到此向量的末尾,因为它们是由指定集合的迭代器返回的顺序。 |
4 | boolean addAll(int index, Collection c) 插入所有在指定Collection中的元素到此向量的指定位置。 |
5 | void addElement(Object obj) 指定的组件添加到此向量的末尾,将其大小增加。 |
6 | int capacity() 返回此向量的当前容量。 |
7 | void clear() 移除此向量中的所有元素。 |
8 | Object clone() 返回此向量的一个副本。 |
9 | boolean contains(Object elem) 如果测试指定的对象在此向量的组件。 |
10 | boolean containsAll(Collection c) 返回true如果此向量包含指定Collection中的所有元素。 |
11 | void copyInto(Object[] anArray) 将此向量的组件复制到指定的数组中。 |
12 | Object elementAt(int index) 返回组件的指定索引处。 |
13 | Enumeration elements() 返回此向量的组件的枚举。 |
14 | void ensureCapacity(int minCapacity) 增加此向量的容量,如果需要,以确保它能够保存最小容量参数指定的组件数量最少。 |
15 | boolean equals(Object o) 比较指定对象与此向量的相等性。 |
16 | Object firstElement() 返回此向量的第一个组件(位于索引0处的项)。 |
17 | Object get(int index) 返回此向量中指定位置的元素。 |
18 | int hashCode() 返回此向量的哈希码值。 |
19 | int indexOf(Object elem) 搜索给定参数,用equals方法测试相等的第一次出现元素。 |
20 | int indexOf(Object elem, int index) 搜索给定参数,在开始搜索索引,并测试使用equals方法相等的第一次出现。 |
21 | void insertElementAt(Object obj, int index) 指定对象插入在此向量中指定索引处的组件。 |
22 | boolean isEmpty() 如果测试此向量是否不包含组件。 |
23 | Object lastElement() 返回此向量的最后一个组件。 |
24 | int lastIndexOf(Object elem) 返回此向量的指定对象的最后一个匹配项的索引。 |
25 | int lastIndexOf(Object elem, int index) 向后搜索指定的对象,从指定的索引开始,并返回它的下标。 |
26 | Object remove(int index) 移除元素在向量中指定位置。 |
27 | boolean remove(Object o) 在移除此向量中指定元素的第一个匹配,如果向量不包含该元素,它是不变的。 |
28 | boolean removeAll(Collection c) 移除此向量的所有元素包含在指定Collection。 |
29 | void removeAllElements() 移除全部组件从这个载体,并将其大小设置为零。 |
30 | boolean removeElement(Object obj) 删除第一个(索引最小的)匹配从这个向量的参数。 |
31 | void removeElementAt(int index) removeElementAt(int index) |
32 | protected void removeRange(int fromIndex, int toIndex) 从这个列表中删除所有索引为fromIndex(包括)和的toIndex,独占的元素。 |
33 | boolean retainAll(Collection c) 保留包含在指定Collection在此向量中仅元素。 |
34 | Object set(int index, Object element) 替换元素在与指定元素在此向量的指定位置。 |
35 | void setElementAt(Object obj, int index) 设置在向量的指定索引处是指定的对象。 |
36 | void setSize(int newSize) 设置此向量的大小。 |
37 | int size() 返回此向量中的组件的数量。 |
38 | List subList(int fromIndex, int toIndex) 返回fromIndex(包括)和toIndex,独享这之间List部分视图。 |
39 | Object[] toArray() 返回包含所有在此向量中以正确的顺序元素的数组。 |
40 | Object[] toArray(Object[] a) 返回包含所有在此向量中以正确的顺序元素的数组;返回数组的运行时类型是指定数组的。 |
41 | String toString() 返回此向量的字符串表示形式,其中包含每个元素的String表示。 |
42 | void trimToSize() 这个微调,向量是向量的当前大小的容量。 |
下面的程序说明了几个由这个集合所支持的方法:
import java.util.*; public class VectorDemo { public static void main(String args[]) { // initial size is 3, increment is 2 Vector v = new Vector(3, 2); System.out.println("Initial size: " + v.size()); System.out.println("Initial capacity: " + v.capacity()); v.addElement(new Integer(1)); v.addElement(new Integer(2)); v.addElement(new Integer(3)); v.addElement(new Integer(4)); System.out.println("Capacity after four additions: " + v.capacity()); v.addElement(new Double(5.45)); System.out.println("Current capacity: " + v.capacity()); v.addElement(new Double(6.08)); v.addElement(new Integer(7)); System.out.println("Current capacity: " + v.capacity()); v.addElement(new Float(9.4)); v.addElement(new Integer(10)); System.out.println("Current capacity: " + v.capacity()); v.addElement(new Integer(11)); v.addElement(new Integer(12)); System.out.println("First element: " + (Integer)v.firstElement()); System.out.println("Last element: " + (Integer)v.lastElement()); if(v.contains(new Integer(3))) System.out.println("Vector contains 3."); // enumerate the elements in the vector. Enumeration vEnum = v.elements(); System.out.println("/nElements in vector:"); while(vEnum.hasMoreElements()) System.out.print(vEnum.nextElement() + " "); System.out.println(); } }
这将产生以下结果:
Initial size: 0 Initial capacity: 3 Capacity after four additions: 5 Current capacity: 5 Current capacity: 7 Current capacity: 9 First element: 1 Last element: 12 Vector contains 3. Elements in vector: 1 2 3 4 5.45 6.08 7 9.4 10 11 12