Vector 类 提 供 了 实 现 可 增 长 数 组 的 功 能 随 着 更 多 元 素 加 入 其 中 数 组 变 的 更 大 在 删 除 一 些 元 素 之 后 数 组 变 小
Vector 有 三 个 构 造 函 数
public Vector(int initialCapacityint capacityIncrement)
public Vector(int initialCapacity)
public Vector()
Vector 运 行 时 创 建 一 个 初 始 的 存 储 容 量initialCapacity 存 储 容 量 是 以capacityIncrement 变 量 定 义 的 增 量 增 长 初 始 的 存 储 容 量 和capacityIncrement 可 以 在Vector 的 构 造 函 数 中 定 义 第 二 个 构 造 函 数 只 创 建 初 始 存 储 容 量 第 三 个 构 造 函 数 既 不 指 定 初 始 的 存 储 容 量 也 不 指 定capacityIncrement
Vector 类 提 供 的 访 问 方 法 支 持 类 似 数 组 运 算 和 与Vector 大 小 相 关 的 运 算 类 似 数 组 的 运 算 允 许 向 量 中 增 加 删 除 和 插 入 元 素 它 们 也 允 许 测 试 矢 量 的 内 容 和 检 索 指 定 的 元 素 与 大 小 相 关 的 运 算 允 许 判 定 字 节 大 小 和 矢 量 中 元 素 不 数 目
现 针 对 经 常 用 到 的 对 向 量 增 删 插 功 能 举 例 描 述
addElement(Object obj)
把 组 件 加 到 向 量 尾 部 同 时 大 小 加 向 量 容 量 比 以 前 大
insertElementAt(Object obj int index)
把 组 件 加 到 所 定 索 引 处 此 后 的 内 容 向 后 移 动 个 单 位
setElementAt(Object obj int index)
把 组 件 加 到 所 定 索 引 处 此 处 的 内 容 被 代 替
removeElement(Object obj) 把 向 量 中 含 有 本 组 件 内 容 移 走
removeAllElements() 把 向 量 中 所 有 组 件 移 走 向 量 大 小 为
例 如
import javalangSystem;
import javautilVector;
import javautilEmumeration;
public class Avector{
public static void main(String args[])
{
Vector v=new Vector();
vaddElement(one);
addElement(two);
vaddElement(three);
vinsertElementAt(zero);
vinsertElementAt(oop);
vsetElementAt(three);
vsetElementAt(four);
vremoveAllElements();
}
}
Vector中的变化情况
另 外Vector 在 参 数 传 递 中 发 挥 着 举 足 轻 重 的 作 用
在Applet 中 有 一 块 画 布(Canvas) 和 一 个(Panel) 而Panel 中 放 着 用 户 要 输 入 的 信 息 根 据 这 些 信 息 把 参 数 传 递 到canvas 中 这 时 在Java 中 用 一 个 接 口(Interface) 而 在 接 口 中 需 用 一 个Vector 去 传 递 这 些 参 数 另 外 在 一 个 类 向 另 一 个 类 参 数 传 递 就 可 以 用 这 种 方 法
例 如
import javautilVector
interface codeselect{
Vector codeselect=new Vector();
}
显示数学信息
Vector()存入学生编号
Vector()存入学科
在Panel 中 当 用 户 在 TextField 和Choice 中 选 择 自 己 所 要 求 的 内 容 程 序 中
通 过 事 件 响 应 把 值 传 到 向 量Vector 中
假 若 在Panel 类 中
public voidcodepanel extends Panel{
public void init()
{
**
TextFields=new TextField();
Choice c=new Choice();
c addItem(语文);
caddItem(数学);
caddItem(政治);
add(s);
add (c);
**
}
public boolean handleEvent(Event event){
if(eventid==EventACTION_EVENT){
if(eventtargetinstanceof Textfield)
{
coderesultsetElementAt(sgetText());
}
else if(eventtarget intanceof Choice)
{
coderesultsetElementAt(new Integer(cgetSelectedIndex()));
}
}
}
}
这 时 向 量 中 已 经 存 入 学 生 编 号 和 学 科 索 引 号( 为 语 文 为 数 学 为 政 治)
而 在Canvas 中 得 到 此 值
public class codecanvas extends Canvas{
public void code{
}
public void paint{
String str;
int t;
str=(String)coderesultelementAt();
t=(new Integer(codeselectelementAt()toString()))intValue();
if(t==)
{
显示语文信息
}
else if(t==)
{
显示数学信息
}
else if(t==)
{
显示政治信息
}
}
}