Кажется, я использую неправильные условия поиска для этого в Google...
Я написал общий класс для ассоциаций "многие-ко-многим", но я предполагаю, что это уже сделано. Весьма вероятно, что он существует в реализации намного лучше, чем мой собственный. Это мой первый набег на создание родового класса.
Для лучшего представления о том, что я ищу, я включаю некоторые собственные фрагменты:
Я поддерживал его с помощью двух хэш-карт:
private final Map<T, List<S>> ssForTs = new HashMap<T, List<S>>();
private final Map<S, List<T>> tsForSs = new HashMap<S, List<T>>();
Вот экземпляр:
new ManyToManyAssociations<Integer, Integer>();
Некоторые доступные методы:
- public void addAssociation (T t, S s)
- public void removeAssociation (T t, S s)
- открытый список <T> getListOfTs()
- открытый список <S> getListOfSs()
- открытый список <T> getTsForSs (S s)
- открытый список <S> getSsForTs (T t)
Имена методов довольно плохие... Извиняюсь.
Основное использование: Я могу легко найти все S для T и наоборот.
Можете ли вы опубликовать ссылку на полированную библиотеку, которая уже включает эту функцию?