フランク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以上の組成