Dans .NET, la GetHashCodeméthode est utilisée à de nombreux endroits dans les bibliothèques de classes de base .NET. L'implémenter correctement est particulièrement important pour trouver rapidement des éléments dans une collection ou pour déterminer l'égalité. Existe-t-il un algorithme standard ou une meilleure pratique sur la façon d'implémenter GetHashCodepour mes classes …
Étant donné la classe suivante 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 …
Un opérateur d'égalité stricte vous dira si deux types d' objet sont égaux. Cependant, existe-t-il un moyen de savoir si deux objets sont égaux, un peu comme la valeur du code de hachage en Java? Question de dépassement de pile Existe-t-il une sorte de fonction hashCode en JavaScript? est similaire …
Les réponses à cette question sont un effort communautaire . Modifiez les réponses existantes pour améliorer ce post. Il n'accepte pas actuellement de nouvelles réponses ou interactions. Quels problèmes / pièges doivent être pris en compte lors de la substitution equalset hashCode?
Récemment, j'ai lu ce document Developer Works . Le document est tout au sujet de définir hashCode()et equals()efficacement et correctement, mais je ne suis pas en mesure de comprendre pourquoi nous devons remplacer ces deux méthodes. Comment prendre la décision de mettre en œuvre ces méthodes efficacement?
Comment décidons-nous de la meilleure implémentation de la hashCode()méthode pour une collection (en supposant que la méthode equals a été remplacée correctement)?
Lorsqu'une classe en Java ne remplace pas hashCode () , l'impression d'une instance de cette classe donne un joli numéro unique. Le Javadoc de l'objet dit à propos de hashCode () : Autant qu'il est raisonnablement pratique, la méthode hashCode définie par la classe Object renvoie des entiers distincts pour …
Selon ma compréhension, je pense: Il est parfaitement légal que deux objets aient le même code de hachage. Si deux objets sont égaux (en utilisant la méthode equals ()) alors ils ont le même hashcode. Si deux objets ne sont pas égaux, ils ne peuvent pas avoir le même code …
Je me demandais simplement pourquoi les nombres premiers sont utilisés dans la hashCode()méthode d' une classe ? Par exemple, lorsque vous utilisez Eclipse pour générer ma hashCode()méthode, le nombre premier est toujours 31utilisé: public int hashCode() { final int prime = 31; //... } Références: Voici une bonne introduction sur …
J'essaie d'imaginer une bonne fonction de hachage pour les chaînes. Et je pensais que ce serait peut-être une bonne idée de résumer les valeurs Unicode pour les cinq premiers caractères de la chaîne (en supposant qu'elle en ait cinq, sinon arrêtez là où elle se termine). Est-ce que ce serait …
Fermé . Cette question est basée sur l'opinion . Il n'accepte pas les réponses actuellement. Vous souhaitez améliorer cette question? Mettez à jour la question afin de pouvoir y répondre avec des faits et des citations en éditant ce message . Fermé il y a 3 ans . Améliorez cette …
En gros, j'essaye de créer un objet d'objets uniques, un ensemble. J'ai eu la brillante idée d'utiliser simplement un objet JavaScript avec des objets pour les noms de propriétés. Tel que, set[obj] = true; Cela fonctionne, jusqu'à un certain point. Cela fonctionne très bien avec des chaînes et des nombres, …
Quelle est la manière correcte et efficace de mettre en œuvre __hash__()? Je parle de la fonction qui renvoie un hashcode qui est ensuite utilisé pour insérer des objets dans des hashtables aka dictionnaires. Comme __hash__()renvoie un entier et est utilisé pour "regrouper" des objets dans des tables de hachage, …
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.