Java Vector類
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(" Elements 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