Не могли бы вы показать простой пример кода, как бы вы использовали такую структуру данных?
Должны ли ключи / значения быть уникальными? В этом случае BiMap звучит примерно так.
Если ключи / значения не являются уникальными, вам нужен какой-то «BiMultimap» (также называемый «граф»), как обсуждено в этой ветке обсуждения Guava . Google еще не открыл свой внутренний BiMultimap.
Если вам нужен график, вы можете посмотреть JUNG или Flexigraph , как обсуждалось в теме.