分享
 
 
 

Vector在Java编程中的应用

王朝java/jsp·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

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

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 中。假若在Panel 类中:

public void

codepanel extends Panel{

public void init()

{

**.

TextField

s=new TextField();

Choice c=new Choice();

c. addItem("语文");

c.addItem("数学");

c.addItem("政治");

add(s);

add (c);

**

}

public boolean handleEvent(Event event){

if(event.id==Event.ACTION_EVENT){

if(event.target.instanceof Textfield)

{

coderesult.setElementAt(s.getText(),0);

}

else if(event.target intanceof Choice)

{

coderesult.setElementAt(new Integer(c.getSelectedIndex()),1);

}

}

}

}

这时,向量中已经存入学生编号和学科索引号(0 为语文,1 为数学,2 为政治)。

而在Canvas 中得到此值,

public class codecanvas extends Canvas{

public void code{}

public void paint{

String str;

int t;

str=(String)coderesult.elementAt(0);

t=(new Integer(codeselect.elementAt(1).toString())).intValue();

if(t==0)

{

显示语文信息

}

else if(t==1)

{

显示数学信息

}

else if(t==2)

{

显示政治信息

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有