<img src="https://img-blog.youkuaiyun.com/20140924092144997?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hyaXN0cHJpbmNlMDA3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
<pre name="code" class="java">package prac_1;
import java.util.*;
/**
* <p>Title: 哈希表操作</p>
* <p>Description: 这是一个权限认证的例子,使用了哈希表作为数据的存储</p>
* <p>Copyright: Copyright (c) 2014</p>
* <p>Filename: Hash_operate.java</p>
* @author 王海涛
* @version 0.1
*/
public class Hash_operate
{
private static Hashtable rightList = new Hashtable();
/**
*<br>方法说明:初始化数据
*<br>输入参数:
*<br>返回类型:
*/
public void init()
{
String[] accRoleList = {"管理员","总监","经理","用户","客人"};
String[] rightCodeList = {"00001","00011","00021","00031","00041"};
for(int i=0;i<accRoleList.length;i++)
{
rightList.put(accRoleList[i],rightCodeList[i]);//将用户和对应的权限放入hash表中
}
}
/**
*<br>方法说明:获取角色权限代码
*<br>输入参数:String accRole 角色名称
*<br>返回类型:String 权限代码
*/
public String getRight(String accRole)
{
if(rightList.containsKey(accRole))//查找用户权限
return (String)rightList.get(accRole);
else
return null;
}
/**
*<br>方法说明:添加角色和代码信息
*<br>输入参数:String accRole 角色名称
*<br>输入参数:String rightCode 角色权限代码
*<br>返回类型:void (无)
*/
public void insert(String accRole,String rightCode)
{
rightList.put(accRole,rightCode);
}
/**
*<br>方法说明:删除角色权限
*<br>输入参数:String accRole 角色名称
*<br>返回类型:void(无)
*/
public void delete(String accRole)
{
if(rightList.containsKey(accRole))
rightList.remove(accRole);
}
/**
*<br>方法说明:修改角色权限代码
*<br>输入参数:String accRole 角色名称
*<br>输入参数:String rightCode 角色权限代码
*<br>返回类型:void(无)
*/
public void update(String accRole,String rightCode)
{
this.insert(accRole,rightCode);
}
/**
*<br>方法说明:打印哈希表中角色和代码对应表
*<br>输入参数:无
*<br>返回类型:无
*/
public void print()
{
Enumeration RLKey = rightList.keys();
while(RLKey.hasMoreElements())
{
String accRole = RLKey.nextElement().toString();
print(accRole+"="+this.getRight(accRole));
}
}
/**
*<br>方法说明:打印信息(过载)
*<br>输入参数:Object oPara 打印的信息内容
*<br>返回类型:无
*/
public void print(Object oPara)
{
System.out.println(oPara);
}
/**
*<br>方法说明:主方法,
*<br>输入参数:
*<br>返回类型:
*/
public static void main(String[] args)
{
Hash_operate RR = new Hash_operate();
RR.init();
System.out.println("原始的数据为");
RR.print();
RR.print("___________________________");
RR.insert("CEO","00110");
System.out.println("插入后的数据为");
RR.print();
RR.print("___________________________");
RR.update("CEO","00100");
System.out.println("更新后的数据为");
RR.print();
RR.print("___________________________");
RR.delete("CEO");
System.out.println("删除后的数据为");
RR.print();
}
}//end:)~