Preguntas con la etiqueta [hashcode]

Lista hashcode preguntas

Un operador de igualdad estricta le dirá si dos tipos de objetos son iguales. Sin embargo, ¿hay alguna manera de saber si dos objetos son iguales, de manera similar al

¿Por qué utilizar un número primo en hashCode?

9
respuestas
207
votos
81.9k
vistas

Me preguntaba por qué se utilizan números primos en el hashCode()método de una clase. Por ejemplo, cuando uso Eclipse para generar mi hashCode()método, siempre se 31utiliza el número primo: public

Dada la siguiente clase public class Foo { public int FooId { get; set; } public string FooName { get; set; } public override bool Equals(object obj) { Foo fooItem

Según tengo entendido creo: Es perfectamente legal que dos objetos tengan el mismo código hash. Si dos objetos son iguales (usando el método equals()), entonces tienen el mismo código hash.

¿Es una mala práctica utilizar objetos mutables como claves Hashmap? ¿Qué sucede cuando intentas recuperar un valor de un Hashmap usando una clave que se ha modificado lo suficiente como

¿Qué problemas/obstáculos se deben considerar al anular equalsy hashCode?

Recientemente leí este documento de Developer Works . El documento trata sobre definir hashCode()y equals()de manera efectiva y correcta, sin embargo, no puedo entender por qué necesitamos anular estos dos

¿Cómo decidimos cuál es la mejor implementación del hashCode()método para una colección (suponiendo que el método igual se haya anulado correctamente)?

¿Cuál es el mejor algoritmo para anular GetHashCode?

22
respuestas
1.7k
votos
295.4k
vistas

En .NET, el GetHashCodemétodo se utiliza en muchos lugares de las bibliotecas de clases base de .NET. Implementarlo correctamente es especialmente importante para encontrar elementos rápidamente en una colección o