javaweb 中怎样利用hashmap 怎样实现用户不重复注册 (最好有具体实例)
展开全部
是可以的,顺便B视一下楼上说的要遍历MAP的说法。那样是误导。哈希表的优势是快速定位和查找,缺点就是遍历,所以一般情况下要避免对哈希表进行遍历。
哈希表最重要的原理就是采用键-值对存储。值是对象,键就是给这个对象取个名字。然后存起来。
这种存储是唯一并排它的。 比方说第一次你存了一个对象取个键名为“AAA”,下次你又想存一个对象也取名为“AAA”,那么成功后,原来那个对象将会被新的对象替换。
换言之,表中永远只会有一个以“AAA”命名的对象存在。 新存一个,旧的那个就丢了。
当客户端发来注册请求时,会发过来想要取的名字,后台得到这个名字后从数据库中进行SQL查询利用Like语法,查出所有类似这个名字的所有用户。 这些用户将会以一个集合的形式存在。
你可以将集合转存在于哈希表中, 该哈希表以用户名为键值,以用户本身为对象存在。
Hashtable table = XXX;//你己经得到的用户表
boolean hasContainsName= table.containsKey("youname");
if(hasContainsName == true){
//注册失败,己存在用户
}
哈希表最重要的原理就是采用键-值对存储。值是对象,键就是给这个对象取个名字。然后存起来。
这种存储是唯一并排它的。 比方说第一次你存了一个对象取个键名为“AAA”,下次你又想存一个对象也取名为“AAA”,那么成功后,原来那个对象将会被新的对象替换。
换言之,表中永远只会有一个以“AAA”命名的对象存在。 新存一个,旧的那个就丢了。
当客户端发来注册请求时,会发过来想要取的名字,后台得到这个名字后从数据库中进行SQL查询利用Like语法,查出所有类似这个名字的所有用户。 这些用户将会以一个集合的形式存在。
你可以将集合转存在于哈希表中, 该哈希表以用户名为键值,以用户本身为对象存在。
Hashtable table = XXX;//你己经得到的用户表
boolean hasContainsName= table.containsKey("youname");
if(hasContainsName == true){
//注册失败,己存在用户
}
展开全部
如果实现不重复注册,不是多数是从数据库设计为主键当然可以用其他check来实现的么。。。hashmap的不重复的话,至少得遍历一下map才行吧。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个貌似不是用hashmap来完成的
你的用户信息肯定是在数据库里的 只要用用户注册的信息和数据库里的数据比对就行了
你的用户信息肯定是在数据库里的 只要用用户注册的信息和数据库里的数据比对就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询