NSObject Protocol Reference说“如果两个对象相等,它们必须具有相同的哈希值。”
为什么必须? 两个相等的对象没有相同的哈希值可能会出现什么问题?
最佳答案
那么基本上你就无法在哈希表中查找相等的值。哈希码基本上用作在哈希表(或哈希集)中查找潜在键匹配的快速方法。这依赖于“对象相等意味着哈希相等”契约。
如果您不打算在使用散列进行快速查找的任何中使用对象,那么您很可能会避免使用返回不同散列代码的相同对象 - 但我真的会避免这样做如果可以的话。
关于objective-c - 为什么两个相等的对象必须具有相同的哈希值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10705163/