Articles of hashcode

GetHashCode remplace l’object contenant un tableau générique

J’ai une classe qui contient les deux propriétés suivantes: public int Id { get; private set; } public T[] Values { get; private set; } Je l’ai rendu IEquatable et object.Equals l’object. object.Equals comme ceci: public override bool Equals(object obj) { return Equals(obj as SimpleTableRow); } public bool Equals(SimpleTableRow other) { // Check for null […]

Qu’est-ce qu’un premier choix judicieux pour le calcul du hashcode?

Eclipse 3.5 a une fonctionnalité très intéressante pour générer des fonctions Java hashCode (). Cela générerait par exemple (légèrement raccourci 🙂 class HashTest { int i; int j; public int hashCode() { final int prime = 31; int result = prime + i; result = prime * result + j; return result; } } (Si […]

hashCode dans les classes de cas dans Scala

J’ai lu que la construction de case class Scala’a génère automatiquement un ajustement equals et l’implémentation de hashCode . A quoi ressemble exactement le code généré?

Hachage avec algorithme SHA1 en C #

Je veux hacher le tableau d’ byte[] à l’aide de l’algorithme SHA1 avec l’utilisation de SHA1Managed . Le hash byte[] proviendra du test unitaire. Le hachage attendu est 0d71ee4472658cd5874c5578410a9d8611fc9aef (sensible à la casse). Comment puis-je atteindre cet objective? public ssortingng Hash(byte [] temp) { using (SHA1Managed sha1 = new SHA1Managed()) { } }

Remplacer equals () & hashCode () dans les sous-classes… en considérant les super champs

Existe-t-il une règle spécifique sur la façon dont la substitution equals() & hashCode() dans les sous-classes en considérant les super champs ? sachant qu’il y a beaucoup de parameters: les super champs sont privés / publics, avec / sans getter … Par exemple, Netbeans généré equals () & hashCode () ne tiendra pas compte des […]

Comment la JVM garantit-elle que System.identityHashCode () ne changera jamais?

En général, l’implémentation par défaut de Object.hashCode() est une fonction de l’adresse allouée de l’object en mémoire (bien que cela ne soit pas obligatoire pour JLS ). Étant donné que la machine virtuelle dérive les objects en mémoire, pourquoi la valeur renvoyée par System.identityHashCode() ne change-t-elle jamais pendant la durée de vie de l’object? S’il […]

Pourquoi le hashCode () de Ssortingng ne cache-t-il pas 0?

J’ai remarqué dans le code source Java 6 de Ssortingng que hashCode ne cache que des valeurs autres que 0. La différence de performances est illustrée par l’extrait de code suivant: public class Main{ static void test(Ssortingng s) { long start = System.currentTimeMillis(); for (int i = 0; i < 10000000; i++) { s.hashCode(); } […]

Comment les égaux et le hashcode doivent-ils être mis en œuvre lors de l’utilisation de JPA et Hibernate?

Comment les classes de modèle doivent-elles être égales et le hashcode doit-il être implémenté dans Hibernate? Quels sont les pièges courants? L’implémentation par défaut est-elle suffisante dans la plupart des cas? Est-il judicieux d’utiliser des clés professionnelles? Il me semble que c’est assez difficile de travailler correctement dans toutes les situations, lorsque la récupération paresseuse, […]

Comment les valeurs par défaut .equals et .hashCode fonctionneront-elles pour mes classes?

Dis que j’ai ma propre classe public class MyObj { /* … */ } Il a des atsortingbuts et des méthodes. Il NE DOIT PAS implémenter des équivalents, NE PAS implémenter hashCode. Une fois que nous appelons les égaux et le hashCode, quelles sont les implémentations par défaut? De la classe d’objects? Et quels sont-ils? […]

Identifiant d’object unique .NET

Est-il possible d’obtenir un identifiant unique d’une instance? GetHashCode() est identique pour les deux références pointant vers la même instance. Cependant, deux instances différentes peuvent (assez facilement) obtenir le même code de hachage: Hashtable hashCodesSeen = new Hashtable(); LinkedList l = new LinkedList(); int n = 0; while (true) { object o = new object(); […]