タグ付けされた質問 「hashcode」

ハッシュコードは、データにハッシュ関数を適用した結果であり、通常は整数になります。

20
GetHashCodeをオーバーライドするための最適なアルゴリズムは何ですか?
.NETでは、このGetHashCodeメソッドは.NET基本クラスライブラリ全体の多くの場所で使用されます。適切に実装することは、コレクション内でアイテムをすばやく見つけるか、同等かどうかを判断するときに特に重要です。 GetHashCodeパフォーマンスを低下させないようにカスタムクラスを実装する方法について、標準的なアルゴリズムまたはベストプラクティスはありますか?



30
2つのJavaScriptオブジェクトの等価性を判断する方法は?
厳密な等価演算子は、2つのオブジェクトタイプが等しいかどうかを通知します。しかし、Javaのハッシュコード値のように、 2つのオブジェクトが等しいかどうかを確認する方法はありますか? スタックオーバーフローの質問JavaScriptには、何らかのhashCode関数がありますか?この質問に似ていますが、より学術的な答えが必要です。上記のシナリオは、なぜそれが必要なのかを示しており、同等の解決策があるかどうか疑問に思っています。


29
JavaでequalsメソッドとhashCodeメソッドをオーバーライドする必要があるのはなぜですか?
最近、このDeveloper Worksドキュメントを読みました 。 このドキュメントはすべてhashCode()、equals()効果的かつ正確に定義することを目的としていますが、これら2つのメソッドをオーバーライドする必要がある理由を理解できません。 これらの方法を効率的に実装するための決定をするにはどうすればよいですか?
383 java  equals  hashcode 


10
hashCode()をオーバーライドするオブジェクトの一意のIDを取得するにはどうすればよいですか?
JavaのクラスがhashCode()をオーバーライドしない場合、このクラスのインスタンスを出力すると、適切な一意の番号が得られます。 ObjectのJavadocはhashCode()について述べています: 合理的に実用的である限り、Objectクラスで定義されたhashCodeメソッドは、個別のオブジェクトに対して個別の整数を返します。 しかし、クラスがhashCode()をオーバーライドするとき、どのようにしてその一意の番号を取得できますか?
231 java  identity  hashcode 

14
Java HashMapは同じハッシュコードで異なるオブジェクトをどのように処理しますか?
私の理解に従って、私は思います: 2つのオブジェクトが同じハッシュコードを持つことは完全に合法です。 2つのオブジェクトが(equals()メソッドを使用して)等しい場合、それらは同じハッシュコードを持っています。 2つのオブジェクトが等しくない場合、同じハッシュコードを持つことはできません 私は正しいですか? ここで正しければ、次の質問HashMapがあります。内部でオブジェクトのハッシュコードを使用しています。では、2つのオブジェクトが同じハッシュコードを持つことができる場合、どのHashMapキーを使用してどのオブジェクトを追跡できるのでしょうか。 HashMap内部でオブジェクトのハッシュコードをどのように使用するかを誰かが説明できますか?

9
hashCodeで素数を使用する理由
素数がクラスのhashCode()メソッドで使用されているのはなぜですか?たとえば、Eclipseを使用してhashCode()メソッドを生成する場合、常に素数が31使用されます。 public int hashCode() { final int prime = 31; //... } 参照: Hashcodeの優れた入門書と、私が見つけたハッシュのしくみに関する記事(C#ですが、概念は転送可能です)です 。EricLippertのガイドラインとGetHashCode()のルール
173 java  hashcode  primes 


15
文字列に適したハッシュ関数
文字列に適したハッシュ関数を考えています。そして、文字列の最初の5文字のUnicode値を合計するのは良い考えかもしれないと考えていました(5文字であると想定し、それ以外の場合は終了する場所で停止します)。それは良い考えでしょうか、それとも悪い考えですか? 私はこれをJavaで行っていますが、それが大きな違いをもたらすとは思いません。
160 java  hash  hashtable  hashcode 

8
Apache Commons equals / hashCodeビルダー[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 3年前休業。 この質問を改善する 私はここの人々が使用して何を考え、知って興味 org.apache.commons.lang.builder EqualsBuilder/をHashCodeBuilder 実装するためのequals/をhashCode?自分で書くよりも良い習慣でしょうか?Hibernateでうまく機能しますか?あなたの意見は何ですか?

20
JavaScriptにはなんらかのハッシュコード関数がありますか?
基本的に、私はユニークなオブジェクトのセットであるオブジェクトを作成しようとしています。私は、JavaScriptオブジェクトをプロパティ名のオブジェクトと共に使用するという素晴らしいアイデアを思いつきました。といった、 set[obj] = true; これはある程度まで機能します。文字列と数値でうまく機能しますが、他のオブジェクトでは、すべて同じ値に「ハッシュ」して同じプロパティにアクセスするようです。オブジェクトに一意のハッシュ値を生成する方法はありますか?文字列と数値はどのように機能しますか?同じ動作を上書きできますか?
150 javascript  hash  set  hashcode 

6
__hash __()を実装するための正しい正しい方法は何ですか?
実装するための正しい方法は__hash__()何ですか? 私は、ハッシュコードを返す関数について話しています。この関数は、オブジェクトをハッシュテーブル(辞書)に挿入するために使用されます。 __hash__()整数を返し、オブジェクトをハッシュテーブルに「ビニング」するために使用されるので、返される整数の値は、一般的なデータに対して(衝突を最小限に抑えるために)均一に分散する必要があると想定しています。そのような値を取得するための良い習慣は何ですか?衝突は問題ですか?私の場合、int、float、stringを保持するコンテナクラスとして機能する小さなクラスがあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.