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)
把 組 件 加 到 向 量 尾 部
同 時 大 小 加
向 量 容 量 比 以 前 大
insertElementAt(Object obj
int index)
把 組 件 加 到 所 定 索 引 處
此 後 的 內 容 向 後 移 動
個 單 位
setElementAt(Object obj
int index)
把 組 件 加 到 所 定 索 引 處
此 處 的 內 容 被 代 替
removeElement(Object obj) 把 向 量 中 含 有 本 組 件 內 容 移 走
removeAllElements() 把 向 量 中 所 有 組 件 移 走
向 量 大 小 為
例 如
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
);
addElement(
two
);
v
addElement(
three
);
v
insertElementAt(
zero
);
v
insertElementAt(
oop
);
v
setElementAt(
three
);
v
setElementAt(
four
);
v
removeAllElements();
}
}
Vector中的變化情況
另 外
Vector 在 參 數 傳 遞 中 發 揮 著 舉 足 輕 重 的 作 用
在Applet 中 有 一 塊 畫 布(Canvas) 和 一 個(Panel)
而Panel 中 放 著 用 戶 要 輸 入 的 信 息
根 據 這 些 信 息 把 參 數 傳 遞 到canvas 中
這 時 在Java 中 用 一 個 接 口(Interface)
而 在 接 口 中 需 用 一 個Vector 去 傳 遞 這 些 參 數
另 外
在 一 個 類 向 另 一 個 類 參 數 傳 遞 就 可 以 用 這 種 方 法
例 如
import java
util
Vector
interface codeselect{
Vector codeselect=new Vector();
}
顯示數學信息
Vector(
)存入學生編號
Vector(
)存入學科
在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()
);
}
else if(event
target intanceof Choice)
{
coderesult
setElementAt(new Integer(c
getSelectedIndex())
);
}
}
}
}
這 時
向 量 中 已 經 存 入 學 生 編 號 和 學 科 索 引 號(
為 語 文
為 數 學
為 政 治)
而 在Canvas 中 得 到 此 值
public class codecanvas extends Canvas{
public void code{
}
public void paint{
String str;
int t;
str=(String)coderesult
elementAt(
);
t=(new Integer(codeselect
elementAt(
)
toString()))
intValue();
if(t==
)
{
顯示語文信息
}
else if(t==
)
{
顯示數學信息
}
else if(t==
)
{
顯示政治信息
}
}
}
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26111.html