У меня есть два класса, ClassA
и ClassB
, а также AssociationClass
"многие ко многим". Мне нужна структура, которая содержит связи между A и B, чтобы я мог найти аналог для каждого экземпляра A или B.
Я подумал об использовании Hashmap с парой ключей:
Hasmap<Pair<ClassA, ClassB>, AssociationClass> associations;
Таким образом, я могу добавить и удалить связь между двумя экземплярами ClassA
и ClassB
, и я могу запросить отношение для двух данных экземпляров.
Однако я ClassA
возможность получения всех ассоциаций, определенных для данного экземпляра ClassA
или ClassB
.
Я мог бы сделать это с помощью грубой силы и перебрать все ключи карты для поиска ассоциаций между данным экземпляром, но это неэффективно и не элегантно.
Знаете ли вы какую-либо структуру данных/бесплатную библиотеку, которая позволяет это? Я не хочу изобретать велосипед.
NB: Это не вопрос базы данных. Эти объекты - чистый POJO, используемый для живых вычислений, мне не нужны постоянные вещи.