私は現在 Cocoa コレクションを研究しており、私の研究はオブジェクトの等価性とハッシュに関するMike Ash の投稿につながりました。
投稿からの抜粋は次のとおりです。
ハッシュのセマンティクスのため、isEqual: をオーバーライドする場合は、ハッシュをオーバーライドする必要があります。そうしないと、等しいが同じハッシュを持たない 2 つのオブジェクトを持つリスクがあります。これらのオブジェクトをディクショナリ、セット、またはハッシュ テーブルを使用するその他のもので使用すると、陽気になります。
残念ながら、著者は何が起こるのかについて詳しく説明しておらず、私の好奇心は、より深く掘り下げようとせずにそのままにしておくことを許しません. 問題は、ハッシュ値が異なる 2 つの等しいオブジェクトがあり、これらのオブジェクトを 1 つのコレクションに入れると、正確にはどうなるかということです。どのような問題に遭遇しますか?