java.util.vector中的vector的詳細用法

來源:互聯網
上載者:User

標籤:

ArrayList會比Vector快,他是非同步的,如果設計涉及到多線程,還是用Vector比較好一些 import java.util.*;

 

/** * 示範Vector的使用。包括Vector的建立、向Vector中添加元素、從Vector中刪除元素、 * 統計Vector中元素的個數和遍曆Vector中的元素。 */

public class VectorDemo{ public static void main(String[] args){

//Vector的建立 //使用Vector的構造方法進行建立 Vector v = new Vector(4);

//向Vector中添加元素 //使用add方法直接添加元素 v.add("Test0"); v.add("Test1"); v.add("Test0"); v.add("Test2"); v.add("Test2");

//從Vector中刪除元素 v.remove("Test0"); //刪除指定內容的元素 v.remove(0); //按照索引號刪除元素

//獲得Vector中已有元素的個數 int size = v.size(); System.out.println("size:" + size);

//遍曆Vector中的元素 for(int i = 0;i < v.size();i++){ System.out.println(v.get(i)); } } } ------------- 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[]) {   0.Vector v=new Vector();   1. v.addElement("one");   2. addElement("two");   3. v.addElement("three");   4. v.insertElementAt("zero",0);   5. v.insertElementAt("oop",3);   6. v.setElementAt("three",3);   7. v.setElementAt("four",4);   8. v.removeAllElements();   } } Vector中的變化情況: 1. one   2. one   3. one   4. zero   5.zero   6. zero  7. zero 8.       two   two  one   one   one   one            three   two   two   two   two  three   oop   three  three  three   three  four     另外,Vector 在參數傳遞中發揮著舉足輕重的作用。在Applet 中有一塊畫布(Canvas) 和一個(Panel), 而Panel 中放著使用者要輸入的資訊,根據這些資訊把參數傳遞到canvas 中,這時在Java 中用一個介面(Interface), 而在介面中需用一個Vector 去傳遞這些參數。另外,在一個類向另一個類參數傳遞就可以用這種方法。   例如:   import java.util.Vector interface codeselect{ Vector codeselect=new Vector(); } 顯示數學資訊 Vector(0)存入學生編號 Vector(1)存入學科     在Panel 中當使用者在TextField 和Choice 中選擇自己所要求的內容,程式中通過事件響應把值傳到向量Vector 中。

 

同步是個很大的問題,尤其多線程,和進程中,因此,我們在多線程中同時對某個數組操作時,支援同步的vector無疑是個很好的選擇,一般在需要將多個元素存在一個集合裡的時候用。 java.util 類 Vector<E> boolean add(E o) 將指定元素追加到此向量的末尾。 void add(int index, E element) 在此向量的指定位置插入指定的元素。 boolean addAll(Collection<? extends E> c) 將指定 Collection 中的所有元素追加到此向量的末尾,按照指定集合的迭代器所返回的順序追加這些元素。 boolean addAll(int index, Collection<? extends E> c) 在指定位置將指定 Collection 中的所有元素插入到此向量中。 void addElement(E obj) 將指定的組件添加到此向量的末尾,將其大小增加 1。 int capacity() 返回此向量的當前容量。 void clear() 從此向量中移除所有元素。 Object clone() 返迴向量的一個副本。 boolean contains(Object elem) 測試指定的對象是否為此向量中的組件。 boolean containsAll(Collection<?> c) 如果此向量包含指定 Collection 中的所有元素,則返回 true。 void copyInto(Object[] anArray) 將此向量的組件複製到指定的數組中。 E elementAt(int index) 返回指定索引處的組件。 Enumeration<E> elements() 返回此向量的組件的枚舉。 void ensureCapacity(int minCapacity) 增加此向量的容量(如有必要),以確保其至少能夠儲存最小容量參數指定的組件數。 boolean equals(Object o) 比較指定對象與此向量的相等性。 E firstElement() 返回此向量的第一個組件(位於索引 0 處的項)。 E get(int index) 返迴向量中指定位置的元素。 int hashCode() 返回此向量的雜湊碼值。 int indexOf(Object elem) 搜尋給定參數的第一個匹配項,使用 equals 方法測試相等性。 int indexOf(Object elem, int index) 搜尋給定參數的第一個匹配項,從 index 處開始搜尋,並使用 equals 方法測試其相等性。 void insertElementAt(E obj, int index) 將指定對象作為此向量中的組件插入到指定的 index 處。 boolean isEmpty() 測試此向量是否不包含組件。 E lastElement() 返回此向量的最後一個組件。 int lastIndexOf(Object elem) 返回指定的對象在此向量中最後一個匹配項的索引。 int lastIndexOf(Object elem, int index) 向後搜尋指定的對象,從指定的索引處開始搜尋,並返回一個索引。 E remove(int index) 移除此向量中指定位置的元素。 boolean remove(Object o) 移除此向量中指定元素的第一個匹配項,如果向量不包含該元素,則元素保持不變。 boolean removeAll(Collection<?> c) 從此向量中移除包含在指定 Collection 中的所有元素。 void removeAllElements() 從此向量中移除全部組件,並將其大小設定為零。 boolean removeElement(Object obj) 從此向量中移除變數的第一個(索引最小的)匹配項。 void removeElementAt(int index) 刪除指定索引處的組件。 protected void removeRange(int fromIndex, int toIndex) 從此 List 中移除其索引位於 fromIndex(包括)與 toIndex(不包括)之間的所有元素。 boolean retainAll(Collection<?> c) 在此向量中僅保留包含在指定 Collection 中的元素。 E set(int index, E element) 用指定的元素替換此向量中指定位置處的元素。 void setElementAt(E obj, int index) 將此向量指定 index 處的組件設定為指定的對象。 void setSize(int newSize) 設定此向量的大小。 int size() 返回此向量中的組件數。 List<E> subList(int fromIndex, int toIndex) 返回此 List 的部分視圖,元素範圍為從 fromIndex(包括)到 toIndex(不包括)。 Object[] toArray() 返回一個數組,包含此向量中以正確順序存放的所有元素。 <T> T[] toArray(T[] a) 返回一個數組,包含此向量中以正確順序存放的所有元素;返回數組的運行時類型為指定數組的類型。 String toString() 返回此向量的字串表示形式,其中包含每個元素的 String 表示形式。 void trimToSize() 對此向量的容量進行微調,使其等於向量的當前大小。

java.util.vector中的vector的詳細用法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.