Mapa de asociación Java muchos a muchos
Tengo clasesClase A yClase B y un "muchos a muchos"AsociaciónClase. Quiero usar una estructura para mantener las asociaciones entre A y B, como puedo saber, para cada instancia de A o B, que son sus contrapartes.
Pensé en usar un Hashmap, con claves de par:
Hasmap<Pair<ClassA, ClassB>, AssociationClass> associations;
De esta manera, puedo agregar y eliminar una asociación entre dos instancias deClase A yClase B, y puedo consultar una relación para dos instancias dadas.
Sin embargo, echo de menos la función de definir todas las asociaciones para una instancia determinada deClase A oClase B.
Podría hacerlo por fuerza bruta y recorrer todas las teclas del mapa para buscar asociaciones entre una instancia determinada, pero esto es ineficiente y no elegante.
¿Conoces alguna estructura de datos / biblioteca gratuita que permita esto? No quiero reinventar la rueda.
Gracias de antemano por tu ayuda,
Rafael
nótese bien: Esta no es una pregunta de "base de datos". Estos objetos son POJO puros utilizados para la computación en vivo, no necesito cosas de persistencia.