title: Two instances having the same hashcode but not equal
body: <p>I was reading the paragraph quoted below from an article entitled- <a href="http://www.ibm.com/developerworks/java/library/j-jtp05273/index.html" rel="noreferrer">Java theory and practice: Hashing it out - Defining hashCode() and equals() effectively and correctly</a></p>
  
  <blockquote>
    <p><strong>Defining equality</strong>
    The Object class has two methods for making inferences about an object's identity: equals() and hashCode(). In
    general, if you override one of these methods, you must override both,
    as there are important relationships between them that must be
    maintained. In particular, if two objects are equal according to the
    equals() method, they must have the same hashCode() value <strong><em>(although
    the reverse is not generally true)</em></strong>.[emphasis added by me]</p>
  </blockquote>
  
  <p>My question relates to the latter bit of the paragraph "although the reverse is not generally true". How is it possible for two different instances of a class to have the same hashCode but not be equal?</p>