Vector在Java编程中的应用

转载 2012年03月25日 14:25:54
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)
  {
  显示政治信息
  }
  }
}

Java编程——应用开源框架实现简易web搜索

引言应用 Java 的开源库,编写一个搜索引擎,这个引擎能爬取一个网站的内容。并根据网页内容进行深度爬取,获取所有相关的网页地址和内容,用户可以通过关键词,搜索所有相关的网址。...

79.JAVA编程思想——抽象应用

79.JAVA编程思想——抽象应用 1     抽象应用 接下来该考虑一下设计方案剩下的部分了——在哪里使用类?既然归类到垃圾箱的办法非常不雅且过于暴露,为什么不隔离那个过程,把它隐藏到一个类里呢...
  • notbaron
  • notbaron
  • 2016年05月08日 21:34
  • 30246

【JAVA编程】泛型高级应用之泛型限定

/*泛型限定: ?:代表通配符,也称点位符 ? extends E:代表可以接收E或者E的子类型 称为上限 ? super E:代表可以接收E或者E的父类型 称为下限*/ /*上限例子 ? exten...
  • KFCKA
  • KFCKA
  • 2015年02月25日 13:10
  • 371

70.JAVA编程思想——Web应用

70.JAVA编程思想——Web应用 创建一个应用,令其在真实的Web 环境中运行,它将把Java 的优势表现得淋漓尽致。这个应用的一部分是在Web 服务器上运行的一个Java 程序,另一部分则是一...
  • notbaron
  • notbaron
  • 2016年05月08日 21:21
  • 30772

Java编程思想 之 线程简单应用

并发编程使我们可以将程序划分为多个分离的,独立运行的任务。通过使用多线程机制,这些独立任务中的每一个都将由执行线程来驱动。一个线程就是在进程中的一个单一的顺序控制流,因此,单个进程可以拥有多个并发执行...

Java编程语言,在哪些行业应用中比较抢手?

Java编程语言,在哪些行业应用中比较抢手?

又学了点java编程的技巧,关于编程语言中与用户交互对话框的应用

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生                              * 作   ...

java编程基础及应用

  • 2012年03月12日 20:42
  • 2.64MB
  • 下载

Java编程与应用教程.zip

  • 2012年06月30日 20:51
  • 1.23MB
  • 下载

基于华为java编程规范的checkstyle.xml以及格式化模版,注释模版

checkstyle.xml
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Vector在Java编程中的应用
举报原因:
原因补充:

(最多只允许输入30个字)