El método String hashCode() devuelve el valor del código hash de esta string como un entero.
Sintaxis:
public int hashCode()
Por ejemplo:
import java.io.*; class GFG { public static void main(String[] args) { String str = "GFG"; System.out.println(str); int hashCode = str.hashCode(); System.out.println(hashCode); } }
GFG 70472
Pero la pregunta aquí es cómo se imprime este valor entero 70472 . Si vuelve a intentar encontrar el valor del código hash de esta string, el resultado será el mismo. Entonces, ¿cómo se calcula este código hash de string?
¿Cómo se calcula el código hash de string?
El valor del código hash de una string se calcula con la ayuda de una fórmula:
s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
dónde:
- s[i] representa el i-ésimo carácter de la string
- ^ se refiere al operando exponencial
- n representa la longitud de la string
Ejemplo:
En el caso anterior, la string es «GFG». Por eso:
s[] = {'G', 'F', 'G'} n = 3
Entonces, el valor del código hash se calculará como:
s[0]*31^(2) + s[1]*31^1 + s[2] = G*31^2 + F*31 + G = (as ASCII value of G = 71 and F = 70) 71*312 + 70*31 + 71 = 68231 + 2170 + 71 = 70472
que es el valor recibido como salida.
Por lo tanto, así es como se calcula el valor del código hash de string.
¿Valor HashCode de string vacía?
En este caso, la String es «». Por eso:
s[] = {} n = 0
Entonces, el valor del código hash se calculará como:
s[0]*31^(0) = 0
Por lo tanto, el valor del código hash de una string vacía siempre es 0.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA