私は2つのクラスを持っています。ユーザーの配列リスト(ユーザーはユーザークラスのインスタンス)を持つ1つのDAOと、入力名を持つユーザーがいるかどうかを確認する別のクラスの1つのメソッドユーザーの配列リストの代わりにハッシュマップ(ユーザー名、ユーザー)を使用するにはどうすればよいですか?
public class UserDAO {
private static UserDAO instance;
private static String fileName = "sources/users.aaa";
//--------------------------------------------------------
private UserDAO(){
}
//--------------------------------------------------------
public boolean storeUsers(ArrayList<User> Users){
return IOFile.writeObject(Users, fileName);
}
//--------------------------------------------------------
public ArrayList<User> getUsers(){
ArrayList<User> Users = (ArrayList<User>) IOFile.readObject(fileName);
return Users;
}
//--------------------------------------------------------
public static UserDAO getInstance(){
if(instance == null)
instance = new UserDAO();
return instance;
}
}
入力名を持つユーザーが存在するかどうかをチェックする別のクラスの 1 つのメソッド:
User user = new User(firstName, lastName, userName, password);
ArrayList<User> users = UserDAO.getInstance().getUsers();
for (User user2 : users) {
if (user.equals(user2)){
system.out.println ("Error!!");
return;
}
}
users.add(user);
UserDAO.getInstance().storeUsers(users);