Java筆記集合之Vector

1、簡介

Vector實現了List接口,Vector 類可以實現可增長的對象數組。與數組一樣,它包含可以使用整數索引進行訪問的組件。但是,Vector 的大小可以根據需要增大或縮小,以適應創建 Vector 後進行添加或移除項的操作。

每個向量會試圖通過維護 capacitycapacityIncrement 來優化存儲管理。capacity 始終至少應與向量的大小相等;這個值通常比後者大些,因爲隨着將組件添加到向量中,其存儲將按 capacityIncrement 的大小增加存儲塊。應用程序可以在插入大量組件前增加向量的容量;這樣就減少了增加的重分配的量。  

2、方法摘要

boolean      add(E e)
          將指定元素添加到此向量的末尾。
void add(int index, E element)
          在此向量的指定位置插入指定的元素。
boolean addAll(Collection<? extends E> c)
          將指定 Collection 中的所有元素添加到此向量的末尾,按照指定 collection 的迭代器所返回的順序添加這些元素。
boolean addAll(int index, Collection<? extends E> c)
          在指定位置將指定 Collection 中的所有元素插入到此向量中。
 void addElement(E obj)
          將指定的組件添加到此向量的末尾,將其大小增加 1。
 int  capacity()
          返回此向量的當前容量。
 void     clear()
          從此向量中移除所有元素。
Object clone()
          返回向量的一個副本。
boolean contains(Object o)
          如果此向量包含指定的元素,則返回 true
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 o)
          返回此向量中第一次出現的指定元素的索引,如果此向量不包含該元素,則返回 -1。
 int indexOf(Object o, int index)
          返回此向量中第一次出現的指定元素的索引,從 index 處正向搜索,如果未找到該元素,則返回 -1。
 void insertElementAt(E obj, int index)
          將指定對象作爲此向量中的組件插入到指定的 index 處。
boolean isEmpty()
          測試此向量是否不包含組件。
 E lastElement()
          返回此向量的最後一個組件。
 int lastIndexOf(Object o)
          返回此向量中最後一次出現的指定元素的索引;如果此向量不包含該元素,則返回 -1。
 int lastIndexOf(Object o, int index)
          返回此向量中最後一次出現的指定元素的索引,從 index 處逆向搜索,如果未找到該元素,則返回 -1。
 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()
          對此向量的容量進行微調,使其等於向量的當前大小。
3、代碼簡單實現

<span style="font-weight: normal;">package com.jlz;

import java.util.ListIterator;
import java.util.Vector;

public class Test_Vector {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Vector<Object> vector = new Vector<Object>();
		vector.add("A");
		vector.add("vector");
		vector.add(1);
		vector.add("end");

		System.out.println(vector.elementAt(1));
		System.out.println(vector.indexOf("A"));
		System.out.println(vector.get(2));
		System.out.println(vector.lastElement());
		System.out.println(vector.toString());
		vector.setElementAt("ABC", 0);
		System.out.println(vector.firstElement());

		for (Object e : vector) {
			System.out.println(e.toString());
		}

		ListIterator<Object> listIterator = vector.listIterator();
		while (listIterator.hasNext()) {
			System.out.println(listIterator.next());
		}
	}
}
</span>


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