我尝试使用小型用户管理系统。 我用这段代码存储了所有数据:
public static HashMap<String, List<String>> loginData = new HashMap<String, List<String>>();
密钥是用户名,值(在列表中)是密码,名字,姓氏,ID。
如何检查输入的用户名和密码是否符合我的HashMap中的数据?
这是我检查用户名的方式:
if (loginData.containsKey(loginname) == true){
答案 0 :(得分:1)
您可以像这样访问列表:
for (Map.Entry<String, List<String>> curData : loginData.entrySet()) {
String username = curData.getKey();
List<String> listLoginData = curData.getValue();
String password = listLoginData.get(0);
String first_name = listLoginData.get(1);
....
}
我的建议是使用对象列表,并使用此参数创建一个类,如此
public class LoginData {
private String password;
private String firstName;
public LoginData(String password, String firstName){
this.password = password;
this.first_name = firstName;
}
public String getPassword(){
return password;
}
public String getFirstName(){
return firstName;
}
}
然后,使用这样的东西:
for (Map.Entry<String, List<LoginData>> curData : loginData.entrySet()) {
String username = curData.getKey();
LoginData loginDataObject = curData.getValue();
String password = loginDataObject.getPassword();
String first_name = loginDataObject.getFirstName();
....
}
答案 1 :(得分:0)
您可以使用
获取HashMap
中与特定键相关联的值
List<String> values = loginData.get(loginname);
答案 2 :(得分:0)
boolean validateLogin(String username, String password) {
List<String> userDetails = loginData.get(username);
return userDetails != null &&
userDetails.size() == 4 &&
password.equals(userDetails.get(0));
}