Metoda hashCode - příklad

V těle hashCode s oblibou „přehráváme“ (delegujeme) řešení na volání hashCode jednotlivých složek objektu - a to těch, které figurují v equals:

Obrázek 11. Třída Clovek s metodami equals a hashCode

public class Clovek implements Comparable { 
   String jmeno, prijmeni; 
   public Clovek (String j, String p) {
      jmeno = j; 
      prijmeni = p; 
   }
   public boolean equals(Object o) { 
      if (o instanceof Clovek) { 
         Clovek c = (Clovek)o; 
         return prijmeni.equals(c.prijmeni);
      } else 
         throw new IllegalArgumentException(
            "Nelze porovnat objekt typu Clovek s objektem jineho typu"); 
   }
   public int hashCode() { 
      return prijmeni.hashCode(); 
   }
}