У меня есть multimap (например, предоставленный Guava):
Multimap<K, V>
который можно было бы увидеть логически следующим образом:
Map<K, Set<V>>
Данные в моей мультимапе, имеют уникальные ключи И уникальные значения. т.е. никогда не может быть одного и того же значения, назначенного более чем одному ключу.
Помимо сохранения двух структур карты, кто-нибудь знает о существующем классе /api, который может дать мне быстрый поиск с помощью ключа или значения.
например.
Collection<V> get(K)
...and...
K getKeyByValue(V)
Кстати, карта ДОЛЖНА быть изменчивой, т.е. мои данные постоянно меняются. (Для неизменяемых Карт, Guava предоставляет ImmutableMultimap.inverse(), который решит эту проблему, если моя Карта может быть неизменной.)
Любая помощь будет оценена.