When I reading the book Advanced Swift and in the Chapter 'Hashable Requirement', I got confused by this explanation
two instances that are equal (as defined by your == implementation) must have the same hash value. The reverse isn’t true: two instances with the same hash value don’t necessarily compare equally.
How can I comprehend the 'reverse' situation, or why do the two instances with the same hash value don’t necessarily compare equally.