Bifalgorithm post · Computer science one · Composition

What is the relationship between equals() and hashCode()?

What is the relationship between equals() and hashCode()? (Computer science one · Composition) — "Objects if two instances are equal (that is, equals() returns…

Ideas in this flowchart

  • Contrato entre equals() y hashCode()
  • Cuando dos objetos son iguales, equals() devuelve true
  • Los objetos iguales deben tener el mismo valor de hashCode()
  • La regla permite que las estructuras basadas en tablas hash funcionen correctamente
  • Los objetos desiguales pueden tener valores hash iguales o diferentes
  • El requisito solo se aplica cuando los objetos son iguales
  • La implementación de hashCode() combina los atributos del objeto
  • Inicializa result con 1 y utiliza 31 como número primo
  • Incorpora firstName y lastName, tratando los valores null como cero
  • Convierte gpa mediante Double.doubleToLongBits() y combina sus partes
  • Incorpora nuid en el valor acumulado
  • Devuelve result como el código hash final
Feed/

What is the relationship between equals() and hashCode()?

No cover

Channel

Computer science one

1 page

"Objects if two instances are equal (that is, equals() returns true) then they must have the same hashCode() value. This requirement is necessary to ensure that hash table-based data structures operate properly. It is okay if unequal objects have equal or unequal hash values. This rule only applies when the objects are equal.\n\n1 public int hashCode() {\n\n2 final int prime = 31;\n\n3 int result = 1;\n\n4 result = prime * result + ((firstName == null) ? 0 :\n\n5 firstName.hashCode());\n\n6 long temp;\n\n7 temp = Double.doubleToLongBits(gpa);\n\n8 result = prime * result + (int) (temp ^ (temp >>> 32));\n\n9 result = prime * result + ((lastName == null) ? 0 :\n\n10 lastName.hashCode());\n\n11 result = prime * result + nuid;\n\n12 return result;\n\n13 }"

Flowchart preview
👍
0
0 comments0 shares

Sign in to view and post comments.