Duvida Sobre a interface Map[Resolvido]

Boa noite amigos,

Estou estudando e me deparei com uma parte em um livro que diz que, toda classe que implementa a interface Map deve sobrescrever equals() e hashCode(), porém só tem um exemplo, muito superficial e que me deixou com duvidas:

import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class TesteHashMap {
	
	public static void main(String[] args) {
		Map lista = new HashMap();
		lista.put(1, "Ricardo");
		lista.put(2,"Andrea");
		lista.put(3, "Marina");
		lista.put(4, "Edu");
		lista.put(5, "Fusca");
		lista.put(6, "Bicicleta");
		
				
		System.out.println(lista.get(2));//busca pela chave, que neste caso é um número
		System.out.println(lista.get(1));
		System.out.println(lista.get(3));
		System.out.println(lista.get(4));
		//System.out.println(lista.get(5));
		//System.out.println(lista.get(6));
		lista.remove(2);
		System.out.println(lista.get(2));//removi elemento numero dois e o retorno é null, não havendo reordenação dos elementos
		System.out.println(lista.containsKey(2));//retorna false porque o elemento cuja chave é o numero 2 foi removido
		System.out.println(lista.containsValue("Maria"));//false porque não existe este valor no Map
		System.out.println(lista.size());//retorna cinco elementos porque um foi removido do Map
		
		Collection c = lista.values();
		Iterator i = c.iterator();
		while(i.hasNext())
			System.out.print(i.next() + " ");
		
		lista.clear();//limpa o Map
		
		System.out.println(lista.get(1));
		
		
	}
	

}

O Funcionamento em si eu compreendi, lembrando que ainda não estou usando Generics, a dúvida é: A classe usada neste exemplo, HashMap, já tem a implementação de equals() e hashCode() da qual o livro fala? Agradeço desde já pelas respostas que puderem me dar pra ajudar. Boa noite a todos.

Cara, na verdade talvez a explicação no tal livro esteja confusa, ou o seu entendimento. Na verdade, o que precisa implementar equals() e hashCode() é a classe que será usada como KEY do Map.

Se voce criar a sua classe Xpto e quiser usar essa classe como chave de um mapa, a sua classe Xpto deve implementar esses métodos que questionou, e não a classe que implementa Map.

As “classes que implementam Map” serão as classes que voce usará para instanciar o seu Map, como HashMap, LinkedHashMap, etc.

alias

Valeu pela explicação, eu tava mesmo entendendo errado, percebi isso testando e com sua resposta eu tive certeza, obrigado pela ajuda e um grande abraço.