资源预览内容
第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
亲,该文档总共4页全部预览完了,如果喜欢就下载吧!
资源描述
在 JAVA 中 的 详 细 说 明java:Vector 类 可 以 实 现 自 动 增 长 的 对 象 数 组 ; Java.util.Vector 提 供 了 向 量 (Vector)类 以 实 现 类 似 动 态 数 组 的 功 能 。 在 Java 语言 中 是 没 有 指 针 概 念 的 , 但 如 果 能 正 确 灵 活 地 使 用 指 针 又 确 实 可 以 大 大 提 高 程 序 的 质 量, 比 如 在 C、 C+中 所 谓 “动 态 数 组 ”一 般 都 由 指 针 来 实 现 。 为 了 弥 补 这 点 缺 陷 , Java提 供 了 丰 富 的 类 库 来 方 便 编 程 者 使 用 , Vector 类 便 是 其 中 之 一 。 事 实 上 , 灵 活 使 用 数组 也 可 完 成 向 量 类 的 功 能 , 但 向 量 类 中 提 供 的 大 量 方 法 大 大 方 便 了 用 户 的 使 用 。 创 建 了 一 个 向 量 类 的 对 象 后 , 可 以 往 其 中 随 意 地 插 入 不 同 的 类 的 对 象 , 既 不 需 顾 及类 型 也 不 需 预 先 选 定 向 量 的 容 量 , 并 可 方 便 地 进 行 查 找 。 对 于 预 先 不 知 或 不 愿 预 先 定 义数 组 大 小 , 并 需 频 繁 进 行 查 找 、 插 入 和 删 除 工 作 的 情 况 , 可 以 考 虑 使 用 向 量 类 。 向 量 类提 供 了 三 种 构 造 方 法 : public vector() public vector(int initialcapacity,int capacityIncrement) public vector(int initialcapacity) 使 用 第 一 种 方 法 , 系 统 会 自 动 对 向 量 对 象 进 行 管 理 。 若 使 用 后 两 种 方 法 , 则 系 统 将根 据 参 数 initialcapacity 设 定 向 量 对 象 的 容 量 (即 向 量 对 象 可 存 储 数 据 的 大 小 ), 当 真正 存 放 的 数 据 个 数 超 过 容 量 时 , 系 统 会 扩 充 向 量 对 象 的 存 储 容 量 。 参 数 capacityIncrement 给 定 了 每 次 扩 充 的 扩 充 值 。 当 capacityIncrement 为 0时 , 则 每 次 扩 充 一 倍 。 利 用 这 个 功 能 可 以 优 化 存 储 。 在 Vector 类 中 提 供 了 各 种 方 法方 便 用 户 使 用 : 插 入 功 能 (1)public final synchronized void addElement(Object obj) 将 obj 插 入 向 量 的 尾 部 。 obj 可 以 是 任 何 类 的 对 象 。 对 同 一 个 向 量 对 象 , 可 在 其 中插 入 不 同 类 的 对 象 。 但 插 入 的 应 是 对 象 而 不 是 数 值 , 所 以 插 入 数 值 时 要 注 意 将 数 值 转 换成 相 应 的 对 象 。 例 要 插 入 一 个 整 数 1 时 , 不 要 直 接 调 用 v1.addElement(1), 正 确 的 方 法 为 : Vector v1=new Vector(); Integer integer1=new Integer(1); v1.addElement(integer1); (2)public final synchronized void setElementAt(object obj,int index) 将 index 处 的 对 象 设 成 obj, 原 来 的 对 象 将 被 覆 盖 。 (3)public final synchronized void insertElementAt(Object obj,int index) 在 index 指 定 的 位 置 插 入 obj, 原 来 对 象 以 及 此 后 的 对 象 依 次 往 后 顺 延 。 删 除 功 能 (1)public final synchronized void removeElement(Object obj) 从 向 量 中 删 除 obj。 若 有 多 个 存 在 , 则 从 向 量 头 开 始 试 , 删 除 找 到 的 第 一 个 与 obj 相 同 的 向 量 成 员 。 (2)public final synchronized void removeAllElement() 删 除 向 量 中 所 有 的 对 象 。 (3)public final synchronized void removeElementlAt(int index) 删 除 index 所 指 的 地 方 的 对 象 。 查 询 搜 索 功 能 (1)public final int indexOf(Object obj) 从 向 量 头 开 始 搜 索 obj ,返 回 所 遇 到 的 第 一 个 obj 对 应 的 下 标 , 若 不 存 在 此 obj, 返 回 -1。 (2)public final synchronized int indexOf(Object obj,int index) 从 index 所 表 示 的 下 标 处 开 始 搜 索 obj。 (3)public final int lastIndexOf(Object obj) 从 向 量 尾 部 开 始 逆 向 搜 索 obj。 (4)public final synchronized int lastIndexOf(Object obj,int index) 从 index 所 表 示 的 下 标 处 由 尾 至 头 逆 向 搜 索 obj。 (5)public final synchronized Object firstElement() 获 取 向 量 对 象 中 的 首 个 obj。 (6)public final synchronized Object lastelement() 获 取 向 量 对 象 中 的 最 后 一 个 obj。 了 解 了 向 量 的 最 基 本 的 方 法 后 , 我 们 来 看 一 下 例 子 VectorApp.java。 例 VectorApp.java import java.util.Vector; import java.lang.*; /这 一 句 不 应 该 要 , 但 原 文 如 此 import java.util.Enumeration; public class VectorApp public static void main(String args) Vector v1=new Vector(); Integer integer1=new Integer(1); v1.addElement(one); /加 入 的 为 字 符 串 对 象 v1.addElement(integer1); v1.addElement(integer1); /加 入 的 为 Integer 的 对 象 v1.addElement(two); v1.addElement(new Integer(2); v1.addElement(integer1); v1.addElement(integer1); System.out.println(The vector v1 is:nt+v1); /将 v1 转 换 成 字 符 串 并 打 印 v1.insertElementAt(three,2); v1.insertElementAt(new Float(3.9),3); System.out.println(The vector v1(used method insertElementAt()is:nt +v1); /往 指 定 位 置 插 入 新 的 对 象 , 指 定 位 置 后 的 对 象 依 次 往 后 顺 延 v1.setElementAt(four,2); System.out.println(The vector v1(used method setElementAt()is:nt +v1); /将 指 定 位 置 的 对 象 设 置 为 新 的 对 象 v1.removeElement(integer1); /从 向 量 对 象 v1 中 删 除 对 象 integer1 由 于 存 在 多 个 integer1 所 以 从 头 开 始 /找 , 删 除 找 到 的 第 一 个 integer1 Enumeration enum=v1.elements(); System.out.print(The vector v1(used method removeElement()is:); while(enum.hasMoreElements() System.out.print(enum.nextElement()+ ); System.out.println(); /使 用 枚 举 类 (Enumeration) 的 方 法 来 获 取 向 量 对 象 的 每 个 元 素 System.out.println(The position of object 1(top-to-bottom): + v1.indexOf(integer1); System.out.println(The position of object 1(tottom-to-top): +v1.lastIndexOf(integer1); /按 不 同 的 方 向 查 找 对 象 integer1 所 处 的 位 置 v1.setSize(4); System.out.println(The new vector(resized the vector)is:+v1); /重 新 设 置 v1 的 大 小 , 多 余 的 元 素 被 行 弃 运 行 结 果 : E:java01java VectorApp The vector v1 is: one, 1, 1, two, 2, 1, 1 The vector v1(used method insertElementAt()is: one, 1, three, 3.9, 1, two, 2, 1, 1 The vector v1(used method setElementAt() is: one, 1, four, 3.9, 1, two, 2, 1, 1 The vector v1(used method removeElement()is: one four 3.9 1 two 2 1 1 The position of object 1(top-to-bottom):3 The position of object 1(tottom-to-top):7 The new vector(resized the vector)is: one, four, 3.9, 1 E:java01 从 例 1 中 运 行 的 结 果 中 可 以 清 楚 地 了 解 上 面 各 种 方 法 的 作 用 , 另 外 还 有 几 点 需 解释 。 (1)类 Vector 定 义 了 方 法 public final int size() 此 方 法 用 于 获 取 向 量 元 素 的 个 数 。 它 的 返 回 值 是 向 是 中 实 际 存 在 的 元 素 个
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号