Java Object hashCode ()

O método Java Object hashCode () retorna o valor do código hash associado ao objeto.

A sintaxe do hashCode()método é:

 object.hashCode()

Parâmetros hashCode ()

O hashCode()método não leva nenhum parâmetro.

Valores de retorno hashCode ()

  • retorna o valor do código hash do objeto

Observação : o valor do código hash é um valor inteiro associado a cada objeto. É usado para identificar a localização de objetos na tabela hash.

Exemplo 1: objeto Java hashCode ()

 class Main ( public static void main(String() args) ( // hashCode() with Object Object obj1 = new Object(); System.out.println(obj1.hashCode()); // 1785210046 Object obj2 = new Object(); System.out.println(obj2.hashCode()); // 1552787810 Object obj3 = new Object(); System.out.println(obj3.hashCode()); // 1361960727 ) )

Observação : a Objectclasse é a superclasse para todas as classes em Java. Portanto, cada classe pode implementar o hashCode()método.

Exemplo 2: hashCode () com String e ArrayList

 import java.util.ArrayList; class Main ( public static void main(String() args) ( // hashCode() with String String str = new String(); System.out.println(str.hashCode()); // 0 ArrayList list = new ArrayList(); System.out.println(list.hashCode()); // 1 ) )

No exemplo acima, podemos chamar o hashCode()método para obter o código hash do objeto Stringe ArrayList.

É porque a classe Stringe ArrayListherdam a Objectclasse.

Exemplo 3: valor de código hash para objeto igual

 class Main ( public static void main(String() args) ( // hashCode() with Object Object obj1 = new Object(); // assign obj1 to obj2 Object obj2 = obj1; // check if two objects are equal System.out.println(obj1.equals(obj2)); // true // get hashcode of obj1 and obj2 System.out.println(obj1.hashCode()); // 1785210046 System.out.println(obj2.hashCode()); // 1785210046 ) )

No exemplo acima, podemos ver que dois objetos obj1 e obj2 estão gerando o mesmo valor de código hash.

É porque dois objetos são iguais. E, de acordo com a documentação oficial do Java, dois objetos iguais devem sempre retornar o mesmo valor de código hash.

Observação : usamos o método equals () do objeto Java para verificar se dois objetos são iguais.

Artigos interessantes...