java vector 遍历_java.util.vector 中 vector 的用法详解

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));

}

}

}

-----修改一下--------

import java.util.*;

public class VectorDemo {

public VectorDemo() {

}

public static void main(String[] args){

//Vector的创建

//使用Vector的构造方法进行创建

Vector v = new Vector(6);

//向Vector中添加元素

//使用add方法直接添加元素

v.add("Test0");

v.add("Test1");

v.add("Test2");

v.add("Test3");

v.add("Test4");

v.add("Test5");

//获得Vector中已有元素的个数

int size0 = v.size();

System.out.println("Vector中删除前元素的个数:" + size0);

//遍历Vector中的元素

for(int i = 0;i < v.size();i++){

System.out.println(v.get(i));

}

//从Vector中删除元素

v.remove("Test0"); //删除指定内容的元

v.remove(0);       //按照索引号删除元素

//获得Vector中已有元素的个数

int size = v.size();

System.out.println("Vector中删除后元素的个数:" + size);

//遍历Vector中的元素

for(int i = 0;i < v.size();i++){

System.out.println(v.get(i));

}

}

}

--------------------结果--------------------

Vector中删除前元素的个数:6

Test0

Test1

Test2

Test3

Test4

Test5

Vector中删除后元素的个数:4

Test2

Test3

Test4

Test5

Vector 类提供了实现可增长数组的功能,随着更多元素加入其中,数组变的更大。在删除一些元素之后,数组变小。

Vector 有三个构造函数,

public Vector(int initialCapacity,int capacityIncrement)

public Vector(int initialCapacity)

public Vector()

Vector 运行时创建一个初始的存储容量initialCapacity,存储容量是以capacityIncrement 变量定义的增量增长。初始的存储容量和capacityIncrement 可以在Vector 的构造函数中定义。

第二个构造函数只创建初始存储容量。Vector v = new Vector(6);

第三个构造函数既不指定初始的存储容量也不指定capacityIncrement。Vector v = new Vector();

#p#副标题#e#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.util.*;

public class Vector2 {

public Vector2() {

}

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);

int size=v.size();

for(int i=0;iSystem.out.println("元素是"+v.get(i));

}

v.removeAllElements();

}

}

-------------------结果--------------------

元素是zero

元素是one

元素是two

元素是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)

{

显示政治信息

}

}

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值