Vector
Vector实现了一个动态数组。 它与ArrayList类似,但有两点不同 -
矢量是同步的。
Vector包含许多不属于集合框架的遗留方法。
如果你事先不知道数组的大小,或者只需要一个可以在程序的生命周期内改变大小的数据,那么向量证明是非常有用的。
以下是vector类提供的构造函数列表。
Sr.No. | 构造函数和描述 |
---|---|
1 | Vector( ) 此构造函数创建一个默认向量,其初始大小为10。 |
2 | Vector(int size) 此构造函数接受等于所需大小的参数,并创建一个初始容量由size指定的向量。 |
3 | Vector(int size, int incr) 此构造函数创建一个向量,其初始容量由size指定,其增量由incr指定。 增量指定每次向上调整向量大小时要分配的元素数。 |
4 | Vector(Collection c) 此构造函数创建一个包含集合c的元素的向量。 |
除了从其父类继承的方法之外,Vector还定义了以下方法 -
Sr.No. | 方法和描述 |
---|---|
1 | void add(int index, Object element) 将指定元素插入此Vector中的指定位置。 |
2 | boolean add(Object o) 将指定的元素追加到此Vector的末尾。 |
3 | boolean addAll(Collection c) 将指定Collection中的所有元素追加到此Vector的末尾,按照指定Collection的Iterator返回的顺序。 |
4 | boolean addAll(int index, Collection c) 将指定Collection中的所有元素插入到此Vector中的指定位置。 |
5 | void addElement(Object obj) 将指定的组件添加到此向量的末尾,将其大小增加1。 |
6 | int capacity() 返回此向量的当前容量。 |
7 | void clear() 从此向量中删除所有元素。 |
8 | Object clone() 返回此向量的副本。 |
9 | boolean contains(Object elem) 测试指定的对象是否是此向量中的组件。 |
10 | boolean containsAll(Collection c) 如果此向量包含指定Collection中的所有元素,则返回true。 |
11 | void copyInto(Object[] anArray) 将此向量的组件复制到指定的数组中。 |
12 | Object elementAt(int index) 返回指定索引处的组件。 |
13 | Enumeration elements() 返回此向量的组件的枚举。 |
14 | void ensureCapacity(int minCapacity) 如有必要,增加此向量的容量,以确保它至少可以容纳由minimum capacity参数指定的组件数。 |
15 | boolean equals(Object o) 将指定的Object与此向量进行比较以获得相等性。 |
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) 从此List中删除索引介于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) 返回此List的部分在fromIndex(包含)和toIndex(独占)之间的视图。 |
39 | Object[] toArray() 以正确的顺序返回包含此向量中所有元素的数组。 |
40 | Object[] toArray(Object[] a) 以正确的顺序返回包含此向量中所有元素的数组; 返回数组的运行时类型是指定数组的运行时类型。 |
41 | String toString() 返回此向量的字符串表示形式,包含每个元素的String表示形式。 |
42 | void trimToSize() 修剪此向量的容量为向量的当前大小。 |
例子 (Example)
以下程序说明了此集合支持的几种方法 -
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();
}
}
这将产生以下结果 -
输出 (Output)
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