導航

          <2006年1月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          文章分類(10)

          收藏夾(2)

          隨筆檔案(10)

          文章檔案(12)

          這兩天看書兩遇到這個類,索性把這個類整理一下來研究研究。看看API中對Vector的描述。
          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                            

          posted on 2006-01-05 10:17 飛揚 閱讀(60378) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          統計

          FAQ網站

          JSP/Java/Servlet開發工具

          JSP/Java/Servlet技術著名網站

          JSP/Servlet應用程序站點

          優選博客

          主站蜘蛛池模板: 久治县| 睢宁县| 浙江省| 莲花县| 丹凤县| 平顶山市| 沈阳市| 绵竹市| 白玉县| 前郭尔| 板桥市| 颍上县| 浦城县| 柳州市| 德钦县| 丹江口市| 塔城市| 岑巩县| 富顺县| 咸宁市| 崇左市| 信宜市| 苏州市| 凤翔县| 沁阳市| 诏安县| 札达县| 伊金霍洛旗| 临泽县| 巴彦淖尔市| 青龙| 龙泉市| 旺苍县| 卓尼县| 砀山县| 如东县| 奉新县| 福鼎市| 瑞昌市| 泰州市| 行唐县|