当前位置导航:炫浪网>>网络学院>>编程开发>>JAVA教程>>Java进阶

Vector类在Java编程中的应用


  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. 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中的变化情况:
  
  ---- 另 外,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)
  {
  显示政治信息
  }
  }
  }
相关内容
赞助商链接