deux objets inégaux avec le même hashcode

Hashcode() et equals() concept est

1) Si deux Objets sont égaux selon l'égalité(), puis en appelant la méthode hashcode sur chacun de ces deux objets doivent produire le même hashcode.

et un autre

2) Il n'est pas nécessaire que si deux objets sont inégales selon les égaux(), puis en appelant la méthode hashcode sur chacun des deux objets doivent produire des valeurs distinctes.

J'ai essayé et compris du premier, et c'est le code pour le premier point.

public class Test {
    public static void main(String[] args) {

        Map<Integer, Integer> map = new HashMap<Integer, Integer>();
        map.put(1, 11);
        map.put(4, 11);
        System.out.println(map.hashCode());
        Map<Integer, Integer> map1 = new HashMap<Integer, Integer>();
        map1.put(1, 11);
        map1.put(4, 11);
        System.out.println(map1.hashCode());
        if (map.equals(map1)) {
            System.out.println("equal ");
        }
    }
}

le programme ci-dessus donne le même hashcode pour deux objets différents.

Quelqu'un peut-il m'expliquer avec un exemple,comment deux objets différents qui sont inégales selon les equals() ont le même hashcode.

source d'informationauteur Saha