Java Language Utiliser un objet personnalisé comme clé


Exemple

Avant d'utiliser votre propre objet comme clé, vous devez remplacer la méthode hashCode () et equals () de votre objet.

Dans le cas simple, vous auriez quelque chose comme:

class MyKey {
    private String name;
    MyKey(String name) {
        this.name = name;
    }

    @Override
    public boolean equals(Object obj) {            
        if(obj instanceof MyKey) {
            return this.name.equals(((MyKey)obj).name);
        }
        return false;
    }
    
    @Override
    public int hashCode() {
        return this.name.hashCode();
    }
}

hashCode décidera quel seau hachage la clé appartient et equals à décidera quel objet dans le seau de hachage.

Sans cette méthode, la référence de votre objet sera utilisée pour la comparaison ci-dessus, ce qui ne fonctionnera que si vous utilisez la même référence d'objet à chaque fois.