java中的Vector類

http://freestyle21.cn
java.lang.Object
   |
   +----java.util.Vector
public class Vector 
extends Object
implements Cloneable, Serializable
下列類的父類:
Stack

Vector 類實現了可動態擴充的對象數組。類似數組,它包含的元素可通過數組下標來訪問。但是,在 Vector 創建之後。Vector 可根據增加和刪除元素的需要來擴大或縮小。

每個向量可通過維護 capacitycapacityIncrement 來優化存儲空間的管理。capacity 至少和向量大小一樣大;但它通常會更大些,因爲向量會添加組件,向量的存儲空間會根據 capacityIncrement 增加。應用在插入大數量的組件之前會增加向量的容量;這減少了再分配的數量。


變量索引

capacityIncrement
當向量的大小超過它的容量時的向量容量的自動增加量。
elementCount
向量中的有效元素數。
elementData
存儲向量中元素的數組緩衝區。

構造子索引

Vector()
構造一個空向量。
Vector(int)
用指定的初始化容量構造一個空向量。
Vector(int, int)
用指定的初始化容量和容量增量構造一個空向量。

方法索引

addElement(Object)
在向量尾部添加一個指定組件,並把它的長度加一。
capacity()
返回當前向量的容量。
clone()
返回該向量的一個 clone 。
contains(Object)
測試指定對象是否該向量的一個元素。
copyInto(Object[])
把該向量的元素複製到指定數組中。
elementAt(int)
返回指定下標處的組件。
elements()
返回該向量的元素的一個枚舉。
ensureCapacity(int)
增加向量容量,必要的話,保證它至少能容納由最小容量參數指定的組件數。
firstElement()
返回該向量的第一個元素。
indexOf(Object)
查找給定參數在向量中第一次出現的位置,並用 equals 方法測試它們是否相等。
indexOf(Object, int)
index 處開始查找給定參數在向量中第一次出現的位置,並用 equals 方法測試它們是否相等。
insertElementAt(Object, int)
在指定的 index 處插入作爲該向量元素的指定對象。
isEmpty()
測試該向量是否無元素。
lastElement()
返回向量的最後一個元素。
lastIndexOf(Object)
返回向量中最後出現的指定對象的下標。
lastIndexOf(Object, int)
從指定的下標向後查找指定的對象,並返回它的下標。
removeAllElements()
刪除向量的所有元素並把它的大小置爲零。
removeElement(Object)
從向量中刪除第一個出現的參數。
removeElementAt(int)
刪除指定下標處的元素。
setElementAt(Object, int)
設置在向量中指定的 index 處的元素爲指定的對象。
setSize(int)
設置向量的大小。
size()
返回該向量的元素數。
toString()
返回該向量的字符串表示。
trimToSize()
把該向量的容量調整爲向量的當前大小。

變量

elementData
 protected Object elementData[]
存儲向量中的元素的數組緩衝區。向量的容量就是該數組緩衝區的長度。

elementCount
 protected int elementCount
向量中的有效元素數。

capacityIncrement
 protected int capacityIncrement
當向量大小超過它的容量時的向量容量的自動增加量。如果容量增量爲 0, 向量的容量在每次需要增加時會擴充一倍。


構造子

Vector
 public Vector(int initialCapacity,
               int capacityIncrement)
用指定的初始化容量和容量增量構造一個空向量。

參數:
initialCapacity - 向量的初始容量。
capacityIncrement - 當向量溢出時容量的增長量。
Vector
 public Vector(int initialCapacity)
用指定的初始化容量構造一個空向量。

參數:
initialCapacity - 向量的初始容量。
Vector
 public Vector()
構造一個空向量。


方法

copyInto
 public final synchronized void copyInto(Object anArray[])
把該向量的元素複製到指定數組中。 數組必須足夠大到可容納向量中的所有對象。

參數:
anArray - 放複製元素的數組。
trimToSize
 public final synchronized void trimToSize()
把該向量的容量調整爲向量的當前大小。應用可使用該操作最小化向量存儲空間。

ensureCapacity
 public final synchronized void ensureCapacity(int minCapacity)
增加向量容量,必要的話,保證它至少能容納由最小容量參數指定的組件數。

參數:
minCapacity - 要求的最小容量。
setSize
 public final synchronized void setSize(int newSize)
設置向量的大小。 如果新大小大於當前大小,則新的 null 項添加到向量尾部。如果新的大小小於當前大小,所有下標大於或等於 newSize 的元素將被拋棄。

參數:
newSize - 向量的新大小。
capacity
 public final int capacity()
返回該向量的當前容量。

返回值:
該向量的當前容量。
size
 public final int size()
返回該向量的元素數。

返回值:
該向量的元素數。
isEmpty
 public final boolean isEmpty()
測試該向量是否無元素。

返回值:
如果該向量無元素,返回 true ;反之返回 false
elements
 public final synchronized Enumeration elements()
返回該向量的元素的一個枚舉。

返回值:
該向量的元素的一個枚舉。
參見:
Enumeration
contains
 public final boolean contains(Object elem)
測試指定對象是該向量的一個元素。

參數:
elem - 一個對象。
返回值:
如果指定對象是該向量中的一個元素,則返回 true ;否則返回 false
indexOf
 public final int indexOf(Object elem)
查找給定參數在向量中第一次出現的位置,並用 equals 方法測試它們是否相等。

參數:
elem - 一個對象。
返回值:
參數在向量中第一次出現處的下標;如果該對象未找到,則返回 -1
參見:
equals
indexOf
 public final synchronized int indexOf(Object elem,
                                      int index)
index 處開始查找給定參數在向量中第一次出現的位置,並用 equals 方法測試它們是否相等。

參數:
elem - 一個對象。
index - 開始查找的位置的下標。
返回值:
參數在向量中的 index 處或在它之後第一次出現的位置的下標;如果該對象未找到,則返回 -1
參見:
equals
lastIndexOf
 public final int lastIndexOf(Object elem)
返回向量中最後出現的指定對象的下標。

參數:
elem - 指定的元素。
返回值:
指定對象在向量中最後一次出現處的下標;如果該對象未找到,則返回 -1
lastIndexOf
 public final synchronized int lastIndexOf(Object elem,
                                      int index)
從指定的下標向後查找指定的對象,並返回它的下標。

參數:
elem - 指定的元素。
index - 開始查找的位置的下標。
返回值:
指定對象在向量中的 index 處或在它之後第一次出現的位置的下標;如果該對象未找到,則返回 -1
elementAt
 public final synchronized Object elementAt(int index)
返回指定下標處的組件。

參數:
index - 向量中的一個下標。
返回值:
指定下標處的元素。
拋出: ArrayIndexOutOfBoundsException
如果給出無效的下標。
firstElement
 public final synchronized Object firstElement()
返回該向量的第一個元素。

返回值:
該向量的第一個元素。
拋出: NoSuchElementException
如果該向量沒有元素。
lastElement
 public final synchronized Object lastElement()
返回向量的最後一個元素。

返回值:
向量的最後一個元素,即在下標 size() - 1 處的元素。
拋出: NoSuchElementException
如果該向量爲空。
setElementAt
 public final synchronized void setElementAt(Object obj,
                                      int index)
設置在向量中指定的 index 處的元素爲指定的對象。 在該位置的先前元素被拋棄。

下標值必須大於或等於0,並且小於向量的當前大小。

參數:
obj - 元素被設置成的那個對象。
index - 指定下標。
拋出: ArrayIndexOutOfBoundsException
如果下標無效。
參見:
size
removeElementAt
 public final synchronized void removeElementAt(int index)
刪除指定下標處的元素。 在該向量中下標大於或等於 index 的元素的下標值減一。

下標值必須大於或等於0,並且小於向量的當前大小。

參數:
index - 要刪除對象的下標。
拋出: ArrayIndexOutOfBoundsException
如果下標無效。
參見:
size
insertElementAt
 public final synchronized void insertElementAt(Object obj,
                                      int index)
在指定的 index 處插入作爲該向量元素的指定對象。 在該向量中下標大於或等於 index 的元素的下標值加一。

下標值必須大於或等於0,並且小於或等於向量的當前大小。

參數:
obj - 要插入的元素
index - 插入新元素的位置。
拋出: ArrayIndexOutOfBoundsException
如果下標無效。
參見:
size
addElement
 public final synchronized void addElement(Object obj)
在向量尾部添加一個指定組件,並把它的長度加一。 當向量大小超過它的容量時向量的容量自動增加。

參數:
obj - 要添加的元素。
removeElement
 public final synchronized boolean removeElement(Object obj)
從向量中刪除第一個出現的參數。 如果在向量中找到該對象,在該向量中下標大於或等於 index 的每個元素的下標值減一。

參數:
obj - 要刪除的元素。
返回值:
如果參數是向量的一個元素,返回 true ;否則返回 false
removeAllElements
 public final synchronized void removeAllElements()
刪除向量的所有元素並把它的大小置爲零。

clone
 public synchronized Object clone()
返回該向量的一個副本 。

返回值:
該向量的一個副本。
覆蓋:
Object 中的 clone
toString
 public final synchronized String toString()
返回該向量的字符串表示。

返回值:
該向量的字符串表示。
覆蓋:
Object 中的 toString
以上的這些是在API中看到的。                                                                                                                                                                   Vector 類提供了實現可增長數組的功能,隨着更多元素加入其中,數組變的更大。在刪除一些元素之後,數組變小。 

Vector 有三個構造函數: 
public Vector(int initialCapacity,int capacityIncrement) 
public Vector(int initialCapacity) 
public Vector() 
Vector 運行時創建一個初始的存儲容量initialCapacity,存儲容量是以capacityIncrement 變量定義的增量增長。初始的存儲容量和capacityIncrement 可以在Vector 的構造函數中定義。第二個構造函數只創建初始存儲容量。第三個構造函數既不指定初始的存儲容量也不指定capacityIncrement。 
Vector 類提供的訪問方法支持類似數組運算和與Vector 大小相關的運算。類似數組的運算允許向量中增加,刪除和插入元素。它們也允許測試矢量的內容和檢索指定的元素,與大小相關的運算允許判定字節大小和矢量中元素的數目。 
現針對經常用到的對向量增,刪,插功能舉例描述: 
   addElement(Object obj)   
   把組件加到向量尾部,同時大小加1,向量容量比以前大1 
   insertElementAt(Object obj, int index) 
   把組件加到所定索引處,此後的內容向後移動1 個單位  
   setElementAt(Object obj, int index) 
   把組件加到所定索引處,此處的內容被代替。 
removeElement(Object obj) 把向量中含有本組件內容移走。 
removeAllElements() 把向量中所有組件移走,向量大小爲0。 
例如: 
import java.lang.System; 
import java.util.Vector; 
import java.util.Emumeration; 
public class Avector{ 
  public static void main(String args[]){ 
   Vector v=new Vector(); 
   v.addElement("one"); 
   v.addElement("two"); 
   v.addElement("three"); 
   v.insertElementAt("zero",0); 
   v.insertElementAt("oop",3); 
   v.setElementAt("three",3); 
   v.setElementAt("four",4); 
   v.removeAllElements(); 

}

 

Vector中的變化情況: 
1. one 2.   one      3.  one 4. zero      5.   zero 6. zero 7.   zero 
     two   two       one   one   one     one 
         three   two   two   two      two 
            three   oop   three      three 
                 three  three     four         

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章