Objects como teclas de mapa sin Hashcode y es igual a

public class Contact
{
    int i;
    String name;
    public Contact(int iVal, String nameVal)
    {
        i = iVal;
        name = nameVal;
    }
}   

public class MultiMap
{
    public static void main (String args[])
    {
        java.util.HashMap m = new java.util.HashMap();
                Contact m1 = new Contact(1, "name");
        Contact m2 = new Contact(1, "name");
        m.put(m1, "first");
        m.put(m2, "second");
        System.out.println(m.get(m1));
        System.out.println(m.get(m2));
    }
}   

Output es:

first 
second 

¿Cómo se comporta este método "get"? Como tanto m1 como M2 tienen los mismos valores y no he anulado el código hash (), ¿se llamará al método equals () de la clase Object?

Es esto correcto

No hay un método de código hash, por lo que JVM no puede ver si los objetos m1 y m2 contienen valores diferentesNo hay un método igual reemplazado, por lo que se invoca la clase Object igual () y, dado que ambos objetos son diferentes, el código anterior funciona bien sin que m2 reemplace el valor de m1.

Respuestas a la pregunta(7)

Su respuesta a la pregunta