Suponga que el lenguaje es JavaScript aquí, y la implementación de HashMap es la clase Map
.
Digamos que tengo un montón de objetos "Personas" que se parecen a estos dos (en los que nos centraremos), objetos "John" y "Sally".
{ id: "someUUID-John", name: "John" }
{ id: "someUUID-Sally", name: "Sally" }
También tengo n cantidad de objetos que representan relaciones entre los objetos anteriores, así:
{ id: "someRelationshipId", from: "someUUID-John", to: "someUUID-Sally", type: "phone_call" }
El ejemplo anterior define una relación from
John to
Sally. Suponga que hay varias relaciones que van en la misma dirección y varias que van en la otra dirección (es decir, from
Sally to
John). También existen múltiples relaciones entre otros objetos "Personas" y entre John y Sally con esas otras Personas.
La id
de la relación anterior es de lo que se trata esta pregunta.
Deseo usar un HashMap
para buscar relaciones fácilmente. En el momento en que deseo buscar esto, es seguro asumir uno de los dos escenarios siguientes:
John
o Sally
, pero no a ambos.John
como a Sally
.Mi pregunta es: A) ¿Es posible construir o usar un algoritmo hash para generar una clave que pueda usarse para buscar la relación dada una referencia o ambos objetos relacionados y B) Si es así, qué algoritmo debo usar o ¿implementar?