Java的数组具有很强的功能但它并不总是能满足用户的要求。数组一旦被创建。它的长度就固定了。但是,有时用户在创建数组时并不确切地知道有多少项需要加进去。解决这一问题的办法是创建一个尽可能大的数组,以满足要求,但会造成空间的浪费。Java中java.util包中的Vector类提供了一种与动态数组相似的功能。如果不能确定要保存的对象的数目或是方便获得某个对象的存放位置时,可以选择Vector类。
简单地说,Vector是一个动态数组它可以根据需要动态伸缩。另外,Vector类还提供了一些有用的方法,如增加和删除元素的方法。
(1)属性
int capacitylncrement:当Vector的大小超过容量时Vector容量的增长
int elementCount;Vector对象中的元素数。
Object[] elementData:存储Vector的元素的数组缓冲区。
(2)构造方法
Vector():构造一个空的Vector对象。
Vector(int initialCapacity):构造一个具有给定初始容量的空的Vector对象。
Vector(int initialCapacity,int capacityIncrement):构造一个具有给定初始容量和容量增量的空的Vector对象。
(3)常用的方法
①向Vector中添加元素。
向一个 Vector 中添加新元素有两种情况,可以用Vector提供的两种不同方法来实现。
void addElement(Object obj):在Vector 的最后增加一个元素。
void insertElementAt( Object obj,int index):在Vector的指定位置插入一个元素。
②从 Vector 中删除元素。
从 Vector中删除元素有3种情况,可以用Vector 提供的3种不同方法来实现。.
void removeAllElement():删除 Vector 中的所有元素。
void removeElement(Object obj):删除Vector中指定的元素(仅删除第一次出现的元素)。
.void removeElement( int index):删除 Vector 中一个指定位置的元素。
③搜索 Vector 中的元素。
有时我们需要得到Vector中特殊位置上的元素或判断Vector中是否包含某个元素,可以使用如下的方法:
.Object firstElement():返回这个Vector的第一个元素
Object lastElement():返回这个Vector的最后一个元素。
Object ElementAt(int index):返回这个Vector中指定位置的元素。
Boolean contains(Object elem):如果元素在这个Vector中,则返回true。
④获取 Vector的基本信息。
int capacity():返回这个Vector的当前容量。
int size():返回这个Vector的元素个数。
举例:Vector类的使用。
import java.util.Date;
import java.util.Vector;
public class VectorTest{
public static void main(String[] args) {
Vector v=new Vector(4);
System.out.println(" this v capacity is "+v.capacity());
v.addElement(new Integer(1));
v.addElement("hello");
v.addElement(new Float(2.45));
System.out.println(" this v capacity is "+v.capacity()+",the size is "+v.size());
v.addElement( new Date());
System.out.println("the first Element is "+(Integer)v.firstElement());
System.out.println(" the last Element is "+((Date)v.lastElement()).toString());
if(v.contains(new Float(2.45))) {
System.out.println("this Vector v contains 2.45");
}
}
}