Método containsKey do Map/HashMap

Olá pessoal, tem um atributo em uma classe que está definido como:

Map<Classe1, Classe2> atributo = new HashMap<Classe1, Classe2>();

Na Classe1, que representa a chave dos objetos do Map, sobrescrevi o método equals, para que respeite a regra específica de igualdade da classe.

Quando executo atributo.containsKey(objetoClasse1) ou ainda atributo.keySet().contains(objetoClasse1), o retorno é sempre false, mas quando utilizando um ArrayList para a Classe1 e chamado o método contains() ele retorna verdadeiro.

Meu problema é verificar se um determinado map possui um objeto dentro dele, para eu então obter este objeto e removê-lo ou alterá-lo.

Grato pela ajuda

Everton

O containsKey() verifica se há uma determinada chave no Map, e nesse caso você deve passar um objeto da Classe1.

Se quer verificar é se contem um valor, use containsValue() e passe um objeto da Classe2.

Eh que o Map depende tambem do metodo
hashCode

O List nao, ele apenas usa o equals.

Ou seja, tu vai ter que sobreescrever tambem esse metodo.

Se tiver duvidas da uma lida no javadoc do Object.equals