Vector 类提供了实现可增长数组的功能随着更多元素加入其中数组变的更大在删除一些元素之后数组变小
Vector 有三个构造函数
public Vector(int initialCapacityint capacityIncrement)
public Vector(int initialCapacity)
public Vector()
Vector 运行时创建一个初始的存储容量initialCapacity存储容量是以capacityIncrement 变量定义的增量增长初始的存储容量和capacityIncrement 可以在Vector 的构造函数中定义第二个构造函数只创建初始存储容量第三个构造函数既不指定初始的存储容量也不指定capacityIncrement
Vector 类提供的访问方法支持类似数组运算和与Vector 大小相关的运算类似数组的运算允许向量中增加删除和插入元素它们也允许测试矢量的内容和检索指定的元素与大小相关的运算允许判定字节大小和矢量中元素不数目
现针对经常用到的对向量增删插功能举例描述
addElement(Object obj)
把组件加到向量尾部同时大小加向量容量比以前大
insertElementAt(Object obj int index)
把组件加到所定索引处此后的内容向后移动 个单位
setElementAt(Object obj int index)
把组件加到所定索引处此处的内容被代替
removeElement(Object obj) 把向量中含有本组件内容移走
removeAllElements() 把向量中所有组件移走向量大小为
例如
import javalangSystem;
import javautilVector;
import javautilEmumeration;
public class Avector{
public static void main(String args[]){
Vector v=new Vector();
vaddElement(one);
vaddElement(two);
vaddElement(three);
vinsertElementAt(zero);
vinsertElementAt(oop);
vsetElementAt(three);
vsetElementAt(four);
vremoveAllElements();
}
}
Vector中的变化情况
one one one zero zero zero zero
two two one oneone one
threetwo twotwo two
threeoopthreethree
three threefour
另外Vector 在参数传递中发挥着举足轻重的作用
在Applet 中有一块画布(Canvas) 和一个(Panel) 而Panel 中放着用户要输入的信息根据这些信息把参数传递到canvas 中这时在Java 中用一个接口(Interface) 而在接口中需用一个Vector 去传递这些参数另外在一个类向另一个类参数传递就可以用这种方法
例如
import javautilVector
interface codeselect{
Vector codeselect=new Vector();
}
显示数学信息
Vector()存入学生编号
Vector()存入学科
在Panel 中当用户在TextField 和Choice 中选择自己所要求的内容程序中通过事件响应把值传到向量Vector 中假若在Panel 类中
public voidcodepanel extends Panel{
public void init()
{
**
TextFields=new TextField();
Choice c=new Choice();
c addItem(语文);
caddItem(数学);
caddItem(政治);
add(s);
add (c);
**
}
public boolean handleEvent(Event event){
if(eventid==EventACTION_EVENT){
if(eventtargetinstanceof Textfield)
{
coderesultsetElementAt(sgetText());
}
else if(eventtarget intanceof Choice)
{
coderesultsetElementAt(new Integer(cgetSelectedIndex()));
}
}
}
}
这时向量中已经存入学生编号和学科索引号( 为语文 为数学 为政治)
而在Canvas 中得到此值
public class codecanvas extends Canvas{
public void code{}
public void paint{
String str;
int t;
str=(String)coderesultelementAt();
t=(new Integer(codeselectelementAt()toString()))intValue();
if(t==)
{
显示语文信息
}
else if(t==)
{
显示数学信息
}
else if(t==)
{
显示政治信息
}
}
}