tengo a clases, claseA y ClassB y una "muchos a muchos" AssociationClass. 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.Java muchos a muchos mapa asociación
I pensado en utilizar un Hashmap, con las teclas de par:
Hasmap<Pair<ClassA, ClassB>, AssociationClass> associations;
De esta manera, puedo añadir y eliminar una asociación entre dos instancias de ClassA y ClassB, y puedo consultar una relación para dos instancias dadas.
Sin embargo, echo de menos la característica de tener todas las asociaciones definidas para una instancia determinada de claseA o ClassB.
Podría hacerlo por fuerza bruta y recorrer todas las teclas del mapa para buscar asociaciones entre una instancia determinada, pero esto es ineficaz y no es elegante.
¿Conoce alguna estructura de datos/biblioteca libre que lo habilite? No quiero reinventar la rueda.
Gracias de antemano por su ayuda,
Raphael
NB: Esta no es una pregunta "base de datos". Estos objetos son POJO puro usado para computación en vivo, no necesito material de persistencia.
Haga casos particulares de Clase A ni ClassB puede tener muchas AssociationClass conectan? – rmarimon
Esa es una buena pregunta: No. En mi caso, hay como máximo una asociación para cada pareja. –
, entonces no es muchos para muchos. – CPerkins