您的位置:首页 > 其它

利用HashMap存储用户登录信息

2012-08-21 16:39 302 查看
还是直接上代码 :(有代码应该木有需要解释的地方了吧,写的仓促,删减了一些东西,见谅)

import java.util.Date;
import java.util.Enumeration;
import java.util.concurrent.ConcurrentHashMap;

public class OLUser {

// 这个是线程安全的
private static ConcurrentHashMap<String,LoginUser> userMap = new ConcurrentHashMap<String,LoginUser>();

// 插入一条数据
public static void insert(String userid, LoginUser luser){
// 预防一些意外的重复执行,加了一个线程锁
synchronized (OLUser.class){
userMap.put(userid, luser);
}
}
// 得到用户数量
public static int getUserNum(){
return userMap.size();
}
// 查找用户是否存在
public static boolean findUser (String userid) {
if (userMap.containsKey(userid)) {
return true;
} else {
return false;
}
}
// 得到用户登录信息
public static LoginUser getLoginUser(String userid){
LoginUser lu = new LoginUser();
if (userMap.containsKey(userid)) {
lu = userMap.get(userid);
}
return lu;
}
// 删除
public static void delete(String userid) {
if (userMap.containsKey(userid)){
synchronized (OLUser.class){
userMap.remove(userid);
}
}
}

// 更新
public static void update(String userid, LoginUser luser){
insert(userid, luser);
}
// 打印所有信息
@SuppressWarnings("unchecked")
public static void print() {
Enumeration keys = userMap.keys();
while (keys.hasMoreElements()) {
String key = keys.nextElement().toString();
System.out.println(key + " = " + getLoginUser(key).getUserID());
}
}
}
主程序大概就这样子了。应该蛮清晰明了的


本文出自 “BloYu” 博客,请务必保留此出处http://johnchina.blog.51cto.com/4390273/968325
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: