Articles of hashcode

¿Cuál es la diferencia entre == operator y equals ()? (con hashcode () ???)

Estaba aprendiendo hashcode con más profundidad y pensé que: 1. Si reemplaza equals (), también debe reemplazar hashcode (). 2. Para encontrar si 2 objetos son el mismo objeto, use == operador Dados esos 2 factores, en Java asumí que cuando == operator se usa para comparar si 2 instancias son iguales o no, if(object1 […]

¿Por qué debería anular hashCode () cuando anulo el método equals ()?

Ok, he escuchado de muchos lugares y fonts que siempre que sobreescribo el método equals (), también tengo que anular el método hashCode (). Pero considere la siguiente pieza de código package test; public class MyCustomObject { int intVal1; int intVal2; public MyCustomObject(int val1, int val2){ intVal1 = val1; intVal2 = val2; } public boolean […]

Buena excepción GetHashCode () para la lista de objetos Foo respetando el orden

EnumerableObject : IEnumerable envuelve una List Si EnumerableObject a.SequenceEquals( EnumerableObject b) , entonces son iguales. Por lo tanto, se debe implementar un GetHashCode . El problema es XORing cada elemento en la lista devolverá el mismo código hash para cualquier lista con todos y solo los mismos elementos, independientemente de la orden. Esto está bien […]

¿Cómo creo un HashCode en .net (c #) para una cadena que es segura de almacenar en una base de datos?

Para citar las Pautas y reglas para GetHashCode por Eric Lippert: Regla: los consumidores de GetHashCode no pueden confiar en que sea estable en el tiempo o en aplicaciones. Supongamos que tiene un objeto Cliente que tiene varios campos como Nombre, Dirección, etc. Si crea dos objetos con exactamente los mismos datos en dos procesos […]

Identificador de objeto único .NET

¿Hay alguna forma de obtener un identificador único de una instancia? GetHashCode() es el mismo para las dos referencias que apuntan a la misma instancia. Sin embargo, dos instancias diferentes pueden (bastante fácilmente) obtener el mismo código hash: Hashtable hashCodesSeen = new Hashtable(); LinkedList l = new LinkedList(); int n = 0; while (true) { […]

Combinaciones rápidas y simples de código hash

¿Pueden las personas recomendar formas rápidas y simples de combinar los códigos hash de dos objetos? No estoy demasiado preocupado por las colisiones ya que tengo una Hash Table que manejará de manera eficiente. Solo quiero algo que genere un código lo más rápido posible. Al leer SO y la web parece que hay algunos […]

¿Cuál es una ventaja sensible para el cálculo de código hash?

Eclipse 3.5 tiene una característica muy buena para generar funciones Java hashCode (). Generaría por ejemplo (un poco acortado 🙂 class HashTest { int i; int j; public int hashCode() { final int prime = 31; int result = prime + i; result = prime * result + j; return result; } } (Si tiene […]

¿Cómo crear un HashMap con dos claves (par de claves, valor)?

Tengo una matriz 2D de enteros. Quiero que se pongan en un HashMap. Pero quiero acceder a los elementos de HashMap según el Índice de matriz. Algo como: Para A [2] [5], map.get(2,5) que devuelve un valor asociado con esa clave. Pero, ¿cómo creo un hashMap con un par de claves? O, en general, varias […]

¿Qué es una “dirección interna” en Java?

En el Javadoc para Object.hashCode () declara Tanto como sea razonablemente práctico, el método hashCode definido por el Object clase devuelve enteros distintos para objetos distintos. (Esto se implementa típicamente al convertir la dirección interna del objeto en un entero, pero esta técnica de implementación no es requerida por el lenguaje de progtwigción Java ™). […]

¿Es posible en Java hacer algo como Comparator pero para implementar custom equals () y hashCode ()

Tengo una matriz de objetos y quiero concatenarla con otra matriz de objetos, excepto que tienen los mismos ID. Los objetos se usan en muchos lugares del sistema y no tienen código hash o se implementan iguales. Así que no quiero implementar hashCode() y equals() , porque me da miedo romper algo en algún lugar […]