Método BigDecimal hashCode() en Java

java.math.BigDecimal.hashCode () devuelve el código hash para este BigDecimal. El código hash generalmente no será el mismo para dos objetos BigDecimal con valores iguales y escala diferente (como 4743.0 y 4743.00).

Sintaxis:

public int hashCode()

Parámetros: este método no acepta ningún parámetro.

Valores devueltos: este método devuelve un valor entero que es igual al valor hashCode del objeto BigDecimal.

Ejemplos:

Input : BigDecimal = 67891    
Output : Hashcode : 2104621

Input : BigDecimal = 67891.000
Output : Hashcode : 2104621003

Los siguientes programas ilustran la función hashCode() de la clase BigDecimal:
Programa 1:

// Java program to demonstrate hashCode() method
import java.io.*;
import java.math.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
        // Creating a BigDecimal object
        BigDecimal b;
  
        // Assigning value
        b = new BigDecimal(4743);
        System.out.print("HashCode for " + b + " is ");
        System.out.println(b.hashCode());
    }
}
Producción:

HashCode for 4743 is 147033

Programa 2: Este programa ilustrará ese código hash para dos BigDecimals diferentes con el mismo valor pero una escala diferente será diferente.

// Java program to demonstrate hashCode() method
import java.io.*;
import java.math.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
        // Creating 2 BigDecimal objects
        BigDecimal b1, b2;
  
        // Assigning values
        b1 = new BigDecimal("4743");
        b2 = new BigDecimal("4743.000");
  
        int i1, i2;
  
        i1 = b1.hashCode();
        i2 = b2.hashCode();
  
        if (i1 == i2) {
            System.out.println("HashCodes of " + 
            b1 + " and " + b2 + " are equal.");
            System.out.println("Both their HashCodes are " +
            i1 + ".");
        }
        else {
            System.out.println("HashCodes of " + b1 + " and " 
            + b2 + " are not equal.");
            System.out.println("HashCodes of " + b1 + " is " 
            + i1 + " and " + b2 + " is " + i2 + ".");
        }
    }
}
Producción:

HashCodes of 4743 and 4743.000 are not equal.
HashCodes of 4743 is 147033 and 4743.000 is 147033003.

Referencia: https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#hashCode()

Publicación traducida automáticamente

Artículo escrito por RICHIK BHATTACHARJEE y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *