拡張してカスタムのHashMap

フランクW.:

質問:どのようにあなたは、通常と同じように操作することができHashMapを、拡張、カスタムのHashMapクラスを作成するのですか?

私に説明してみましょう。よると、この質問には、ArrayListのを拡張して、あなたの方法を記述することでのArrayListとカスタムメソッドを作成することができます。私はハッシュマップでどのようにしていることだろうか?

私は初期化することができるのUserListクラスを作成しますUserList users = new HashMap<Users, Integer>これは、これまでのUserListのための私のクラスです。

public class UserList extends HashMap<Users, Integer> {

    public Users getUser(UUID uuid) {
        for (Users u: keySet()) {
            if (u.getUuid().equals(uuid))
                return u;
        }

        return null;
    }

    public Boolean containsPlayer(UUID uuid) {
        for (Users u: keySet()) {
            if (u.getUuid().equals(uuid))
                return true;
        }

        return false;
    }

    public Users removeUser(UUID uuid) {
        for (Users u: keySet()) {
            if (u.getUuid().equals(uuid)) {
                remove(u);
                return u;
            }
        }

        return null;
    }
}

私はプライベート型たびしかし、UserList listOfUsers = new HashMap<Users, Integer>;メインクラスでは、互換性のないタイプのエラーが表示されます。私はこれをどのように解決するのですか?私は前にこのについての学習を覚えて、しかし、忘れて以来、私はしました。

感謝

orirab:

UserList users = new UserList()何かの必要はありません。

拡張することによってHashMap、あなたはすでにコンパイラ語っUserListですHashMap

提案として、あなたは別の設計としての組成を検討する必要があります。inharitance以上の組成

おすすめ

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