範例展示 Hashtable 儲存角色與權限代碼對應關係,並實作增刪改查與列舉輸出功能。
public class RoleRight {
private static Hashtable rightList = new Hashtable();
public void init() {
String[] accRoleList = {"admin","satrap","manager","user","guest"};
String[] rightCodeList = {"10001","10011","10021","20011","24011"};
for (int i = 0; i < accRoleList.length; i++)
rightList.put(accRoleList[i], rightCodeList[i]);
}
public String getRight(String accRole) {
if (rightList.containsKey(accRole))
return (String) rightList.get(accRole);
else
return null;
}
public void insert(String accRole, String rightCode) {
rightList.put(accRole, rightCode);
}
public void delete(String accRole) {
if (rightList.containsKey(accRole))
rightList.remove(accRole);
}
public void update(String accRole, String rightCode) {
this.insert(accRole, rightCode);
}
public void print() {
Enumeration RLKey = rightList.keys();
while (RLKey.hasMoreElements()) {
String accRole = RLKey.nextElement().toString();
print(accRole + "=" + this.getRight(accRole));
}
}
public void print(Object oPara) { System.out.println(oPara); }
public static void main(String[] args) {
RoleRight RR = new RoleRight();
RR.init();
RR.print();
RR.print("___________________________");
RR.insert("presider", "10110");
RR.print();
RR.print("___________________________");
RR.update("presider", "10100");
RR.print();
RR.print("___________________________");
RR.delete("presider");
RR.print();
}
}
執行結果依序顯示:初始資料、新增 presider、修改 presider、刪除 presider 後的雜湊表內容。展現 Hashtable 基本操作與 Enumeration 遍歷鍵值。