有关Vector

shuangshuang_12 2007-10-09 12:40:53
初学Java 碰到Vector觉的力不从心 希望高手发一些有关Vector最基础的源代码,以供学习,不甚感激!
...全文
178 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
major361 2007-10-09
  • 打赏
  • 举报
回复
先去学学数据结构后
就会觉得Vector很简单了
llxiong 2007-10-09
  • 打赏
  • 举报
回复
Vector vec = new Vector();

vec.add(0, "a");
vec.add(1, "b");
vec.add(2, "c");
vec.add(3, "d");
vec.add(4, "e");
vec.add(5, "f");

//Vector数据转换到数组中,其他的常用,这个感觉比较好,但用的少,推荐下
String[] a = new String[vec.size()];
vec.copyInto(a);
for(int i=0; i<a.length; i++){
System.out.println(a[i]);
}

shuangshuang_12 2007-10-09
  • 打赏
  • 举报
回复
先要看API吗?
哦 不了解再回来看看
谢谢!
lixrun 2007-10-09
  • 打赏
  • 举报
回复
支持freesnail
wunan320 2007-10-09
  • 打赏
  • 举报
回复
最好的方法还是先看一下api,看完又不会的再发贴讨论下。
freesnail 2007-10-09
  • 打赏
  • 举报
回复
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[])
                    {
/* 0. */   Vector v=new Vector();
/* 1. */ v.addElement("one");
/* 2. */ v.addElement("two");
/* 3. */ v.addElement("three");
/* 4. */ v.insertElementAt("zero",0);
/* 5. */ v.insertElementAt("oop",3);
/* 6. */ v.setElementAt("three",3);
/* 7. */ v.setElementAt("four",4);
/* 8. */ 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   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)
{
显示政治信息
}
}
} 
freesnail 2007-10-09
  • 打赏
  • 举报
回复
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));
}
}
}
chenyifei211 2007-10-09
  • 打赏
  • 举报
回复
建议使用arraylist,vector已经过时了

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧