ハッシュマップ内の一つのオブジェクトに属するすべてのキーを取得

ジェームズ:

以下は私のユーザークラスです。私はまた、単一通貨カードクラスとマルチカード通貨クラスの親クラスであるカードのクラスを持っています。

私はコーディングにかなり新しいですし、トラブルのいくつかの概念を理解しています。私は何をする必要があることは、ユーザー名とパスワードと一致する場合、ユーザーが所有するカードを返しています。これはgetCards方法です。この後、私は、ユーザー名とパスワードが一致した場合のHashMapリストにカードを追加する必要があります。任意のヒントや私はHashMapのコンセプトで多くの苦労として本当に役立つだろう他のサイト。


public class User {
String username;
String password;
User user;

HashMap<String,Card> userHash = new HashMap <String, Card>(); //key is the cardID

public User(String username, String password)
{
    this.username = username;
    this.password = password;
}    

public String toString()
{
    return "User ---------" + "\n" + "Username: " + username + "\n" + "Password: " + password;
}

public String getUsername()
{
    return username;
}

public String getPassword()
{
    return password;
}

public boolean userValidate(String username, String password)
{
    if (username.contains(user.getUsername()) && password.contains(user.getPassword()))
    {
        System.out.println("User accepted");
        return true;
    }else
        System.out.println("Access denied");
    return false;
}

public HashMap<String, Card> getCards(String username, String password)
{
    for(String value : userHash.keySet())
        if (user.userValidate(username, password) == true)
        {
            //return user's cards
            return true;
        }else
            return null; 
        return null;

}


public boolean addCard(Card card, String username, String password)
{
    if(user.userValidate(username, password) == true)
    {
        user.getCards(username, password);

    }
    return false;
}

The card which belongs to the user
tommybee:

ここに私のデザインコンセプトです。

この場合、ユーザークラスは、多くのカードを持つことができ、各カードにはIDを持っています。検証チェックを毎回作成、ユーザーを保存する必要があります。

userValidate方法は、それ自体の値と引数を確認のisValid変数(ブール値)に保存することができます。

public boolean userValidate(String username, String password)
{
    if (username.contains(getUsername()) && password.contains(getPassword()))
    {
        System.out.println("User accepted");
        return isvalid = true;
    }else
        System.out.println("Access denied");
    return isvalid = false;
}

それはのisValidが真であるかないことを確認しますので、getCards方法は簡単です。

public HashMap<String, Card> getCards() {
    if (isvalid) {
        // return user's cards
        return userHash;
    } else
        return null;

}

ユーザーの検証が成功したか何であればaddCard方法は、私は、カードIDとカードを保存することができます...

public boolean addCard(Card card, String username, String password)
{
    if(userValidate(username, password))
    {
        userHash.put(card.getCardId(), card);
        return true;

    }
    return false;
}

だから、すべてのこれらのコードと一緒に来ます。

輸入java.util.HashMapを;

class Card 
{
    private String cardId;

    public String getCardId() {
        return cardId;
    }

    public void setCardId(String cardId) {
        this.cardId = cardId;
    }

}

public class User {
    private String username;
    private String password;
    private boolean isvalid;


    HashMap<String, Card> userHash = new HashMap<String, Card>(); // key is the
                                                                    // cardID

    public User(String username, String password) {
        this.username = username;
        this.password = password;

    }


    public boolean userValidate(String username, String password)
    {
        if (username.contains(getUsername()) && password.contains(getPassword()))
        {
            System.out.println("User accepted");
            return isvalid = true;
        }else
            System.out.println("Access denied");
        return isvalid = false;
    }

    public String toString() {
        return "User ---------" + "\n" + "Username: " + username + "\n" + "Password: " + password;
    }

    public String getUsername() {
        return username;
    }

    public String getPassword() {
        return password;
    }

    public HashMap<String, Card> getCards() {
        if (isvalid) {
            // return user's cards
            return userHash;
        } else
            return null;

    }

    public boolean addCard(Card card, String username, String password)
    {
        if(userValidate(username, password))
        {
            userHash.put(card.getCardId(), card);
            return true;

        }
        return false;
    }


}

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=219523&siteId=1