Java muitos para muitos mapa de associação
Eu tenho aulasClasse A eClasse B e um "muitos para muitos"AssociationClass. Eu quero usar uma estrutura para manter as associações entre A e B, como posso saber, para cada instância de A ou B, quais são suas contrapartes.
Pensei em usar um Hashmap, com chaves de par:
Hasmap<Pair<ClassA, ClassB>, AssociationClass> associations;
Dessa forma, posso adicionar e remover uma associação entre duas instâncias deClasse A eClasse B, e posso consultar uma relação para duas instâncias.
No entanto, sinto falta do recurso de definir todas as associações para uma determinada instância deClasse A ouClasse B.
Eu poderia fazer isso com força bruta e percorrer todas as chaves do mapa para procurar associações entre uma determinada instância, mas isso é ineficiente e não elegante.
Você conhece alguma estrutura de dados / biblioteca gratuita que permita isso? Eu não quero reinventar a roda.
Agradeço antecipadamente por sua ajuda,
Rafael
NB: Esta não é uma pergunta do "banco de dados". Esses objetos são POJO puros usados para computação ao vivo, não preciso de material de persistência.