java.lang.System.identityHashCode() es el método que se usa para devolver el mismo código hash para cualquier objeto dado que es devuelto por el método predeterminado hashCode(). Además, para cada código hash con una referencia nula, se devuelve cero.
Puntos a recordar:
- De forma predeterminada, cada clase, ya sea implícita o explícitamente, proporciona un método hashCode()
- Un código hash es generalmente un número generado a partir de cualquier objeto que permite que los objetos se almacenen o recuperen muy rápidamente en una tabla Hash.
- En Java, hashCode() por defecto es un método nativo, lo que significa que el método tiene un modificador ‘nativo’, cuando se implementa directamente en el código nativo en la JVM.
- Se utiliza para digerir todos los datos almacenados en una instancia de la clase en un único valor hash, es decir, un entero de 32 bits con signo.
Sintaxis:
public static int identityHashCode(Object x)
Parámetros: El parámetro x es del tipo Hash y se refiere al código hash que se necesita calcular.
Valor de retorno: este método devuelve el código hash.
Los siguientes programas ilustran el uso del método java.lang.System.identityHashCode().
Programa 1:
// Java program to demonstrate working // of java.lang.System.identityHashCode() method. import java.lang.*; import java.io.*; public class SystemCode1 { public static void main(String[] args) throws Exception { File filename1 = new File("Welcome"); File filename2 = new File("Welcome"); File filename3 = new File("Geek"); File filename4 = new File("World"); // Returns the HashCode int returnvalue1 = System.identityHashCode(filename1); System.out.println(returnvalue1); // Returns different HashCode for same filename int returnvalue2 = System.identityHashCode(filename2); System.out.println(returnvalue2); // Returns the HashCode int returnvalue3 = System.identityHashCode(filename3); System.out.println(returnvalue3); // Returns the HashCode int returnvalue4 = System.identityHashCode(filename4); System.out.println(returnvalue4); } }
589431969 1252169911 2101973421 685325104
Explicación:
en el programa anterior, se generan códigos hash o números diferentes a partir de un objeto, incluso si tienen el mismo nombre. Como aquí, podemos ver que los dos primeros términos son iguales, es decir, «Bienvenido», pero tenemos dos valores diferentes, que son
- 589431969
- 1252169911
respectivamente para la primera y segunda Bienvenida
Programa 2:
// Java program to demonstrate working // of java.lang.System.identityHashCode() method. import java.lang.*; import java.io.*; public class SystemCode2 { public static void main(String[] args) throws Exception { File filename1 = new File("10"); File filename2 = new File("shyam"); File filename3 = new File("s12"); File filename4 = new File("s12"); // Returns the HashCode int returnvalue1 = System.identityHashCode(filename1); System.out.println(returnvalue1); // Returns the HashCode int returnvalue2 = System.identityHashCode(filename2); System.out.println(returnvalue2); // Returns different HashCode for same filename int returnvalue3 = System.identityHashCode(filename3); System.out.println(returnvalue3); // Returns different HashCode for same filename int returnvalue4 = System.identityHashCode(filename4); System.out.println(returnvalue4); } }
589431969 1252169911 2101973421 685325104
Publicación traducida automáticamente
Artículo escrito por ankita_chowrasia y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA