のJava API - クラスオブジェクトユニークなオブジェクトを識別しない場合、ハッシュコードは何が良いですか?
ハッシュコード:
は、2つのオブジェクトが、その後のhashCodeメソッドを呼び出して、等号(java.lang.Object)メソッドの方法に従って等しくない場合は、その必要はありません2つのオブジェクトのそれぞれは別個の整数結果を生成する必要があります。しかし、プログラマは、不等なオブジェクトに対して別個の整数結果を生成すると、ハッシュテーブルのパフォーマンスが向上する可能性があることに注意する必要があります。
2つのオブジェクトが異なる整数結果を生成できる場合、どのような整合性がハッシュによって達成されますか? 2つの異なるオブジェクトが同じハッシュ値を返すことが奇妙に思えます。
ハッシュ衝突を見に比べセーバー膨大な時間だハッシュの一部と小包です、それは無限の持っていないとの問題点の一つですメモリ。 –
ハッシュコードは、大きな値の空間をより小さな値の空間にマッピングしたものです。一意性の意味はありません。 – EJP
一意性は相対的な用語です。本当にユニークなオブジェクトについて話しているなら、それはそのメモリアドレスによって定義されます。一意性について話している場合、コレクションをハッシングする場合、ハッシュコードとequalsメソッドの組み合わせによって定義され、2つの異なるオブジェクトが同じハッシュコードを持ち、メソッドに等しいことを妨げるものはありません。 – tsolakp