服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > 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类在java编程中的应用
  ---- 另 外,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)
  {
  显示政治信息
  }
  }
  }

扫描关注微信公众号