In .NET wird die GetHashCodeMethode an vielen Stellen in den .NET-Basisklassenbibliotheken verwendet. Die ordnungsgemäße Implementierung ist besonders wichtig, um Elemente in einer Sammlung schnell zu finden oder um die Gleichheit zu bestimmen. Gibt es einen Standardalgorithmus oder eine bewährte Methode für die Implementierung GetHashCodefür meine benutzerdefinierten Klassen, damit die Leistung …
Gegeben die folgende Klasse public class Foo { public int FooId { get; set; } public string FooName { get; set; } public override bool Equals(object obj) { Foo fooItem = obj as Foo; if (fooItem == null) { return false; } return fooItem.FooId == this.FooId; } public override int …
Ein strikter Gleichheits - Operator werden Ihnen sagen , wenn zwei Objekttypen gleich sind. Gibt es jedoch eine Möglichkeit, festzustellen, ob zwei Objekte gleich sind, ähnlich wie beim Hash-Code Wert in Java? Frage zum Stapelüberlauf Gibt es eine HashCode-Funktion in JavaScript? ähnelt dieser Frage, erfordert jedoch eine akademischere Antwort. Das …
Die Antworten dieser Frage sind eine Gemeinschaftsanstrengung . Bearbeiten Sie vorhandene Antworten, um diesen Beitrag zu verbessern. Derzeit werden keine neuen Antworten oder Interaktionen akzeptiert. Welche Probleme / Fallstricke müssen beim Überschreiben berücksichtigt werden equalsund hashCode?
Kürzlich habe ich dieses Developer Works-Dokument gelesen . Das Dokument ist über die Definition hashCode()und equals()effektiv und richtig, aber ich nicht in der Lage bin, um herauszufinden , warum wir diese beiden Methoden außer Kraft setzen müssen. Wie kann ich die Entscheidung treffen, diese Methoden effizient umzusetzen?
Wie entscheiden wir uns für die beste Implementierung der hashCode()Methode für eine Sammlung (vorausgesetzt, die Methode equals wurde korrekt überschrieben)?
Wenn eine Klasse in Java hashCode () nicht überschreibt , ergibt das Drucken einer Instanz dieser Klasse eine schöne eindeutige Nummer. Das Javadoc von Object sagt über hashCode () : Soweit dies vernünftigerweise praktikabel ist, gibt die von class Object definierte hashCode-Methode unterschiedliche Ganzzahlen für unterschiedliche Objekte zurück. Aber wenn …
Nach meinem Verständnis denke ich: Es ist völlig legal, dass zwei Objekte denselben Hashcode haben. Wenn zwei Objekte gleich sind (mit der Methode equals ()), haben sie denselben Hashcode. Wenn zwei Objekte nicht gleich sind, können sie nicht denselben Hashcode haben Hab ich recht? Wenn das nun stimmt, habe ich …
Ich habe mich nur gefragt, warum diese Primzahlen in der hashCode()Methode einer Klasse verwendet werden. Wenn Sie beispielsweise Eclipse zum Generieren meiner hashCode()Methode verwenden, wird immer die Primzahl 31verwendet: public int hashCode() { final int prime = 31; //... } Verweise: Hier ist eine gute Einführung in Hashcode und ein …
Ich versuche mir eine gute Hash-Funktion für Strings auszudenken. Und ich dachte, es wäre eine gute Idee, die Unicode-Werte für die ersten fünf Zeichen in der Zeichenfolge zusammenzufassen (vorausgesetzt, sie haben fünf, andernfalls hören Sie dort auf, wo sie enden). Wäre das eine gute Idee oder eine schlechte? Ich mache …
Geschlossen . Diese Frage basiert auf Meinungen . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage, damit sie mit Fakten und Zitaten beantwortet werden kann, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 3 Jahren . Verbessere diese Frage Ich bin gespannt, was die …
Grundsätzlich versuche ich, ein Objekt aus eindeutigen Objekten, eine Menge, zu erstellen. Ich hatte die geniale Idee, nur ein JavaScript-Objekt mit Objekten für die Eigenschaftsnamen zu verwenden. Sowie, set[obj] = true; Dies funktioniert bis zu einem gewissen Punkt. Es funktioniert hervorragend mit Zeichenfolgen und Zahlen, aber mit anderen Objekten scheinen …
Was ist ein korrekter und guter Weg, um zu implementieren __hash__()? Ich spreche von der Funktion, die einen Hashcode zurückgibt, der dann zum Einfügen von Objekten in Hashtabellen oder Wörterbücher verwendet wird. Da __hash__()eine Ganzzahl zurückgegeben wird und zum "Binning" von Objekten in Hashtabellen verwendet wird, gehe ich davon aus, …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.