2016-02-16 81 views
-2

其實我想檢查是否有任何用戶對象與給定的用戶名和密碼,並從用戶列表中返回用戶。你們能告訴我實施這個最簡單的方法嗎?提前致謝。java檢查列表中的對象的屬性值

+0

你是什麼意思的用戶對象? –

+0

如果你只有一個列表,重複它並檢查每個對象。如果您可以改爲創建地圖,或者添加列表,請在地圖中查找。 – RealSkeptic

+0

使用用戶名和密碼的HashMap你可以爲現有用戶 – nullpointer

回答

1
  1. 您可以做地圖的地圖。外部地圖是用戶名和內部密碼。這是地圖<字符串,地圖<字符串,用戶>>

  2. 更合適的可能是創建具有{用戶名,密碼}域對象的用戶,並做了一套覆蓋equals和哈希是這樣的:

    class User { 
        String username; 
        String password; 
    
        equals(Object other){ 
        return other.username.equals(this.username) && other.password.equals(this.password); 
        } 
    
        hashCode() { //hash the two values together 
         return (username+password).hashCode(); 
        } 
    

    }

然後有一組用戶設置<用戶>,稱之爲設定。

checkIfUserValid(String user, String password){ 
      u = new User(user, password); 
      return set.contains(u); 
    } 

第一方法的好處刪除與所有它的密碼的用戶(如果有多個密碼可能),在O(#passwords)的能力例如..與之相對另一種方法,其給出封裝,但會花費迭代所有用戶來檢查user.username == usernameSoughtAfter;

相關問題