Ciao,
hmm dovrei indagare un po' magari ci sono strutture già implementate che funzionano perfettamente..
al caso tuo comunque mi farei una classe ex novo in cui wrapperei 2 hasmap
una del tipo
HashMap<Key, Value> classica
e una di tipo
HashMap<Value, List<Key>>
nella tua classe wrapper poi meterei dei metodi del tipo (scrivo pseuso codice ) :
Value get(Key key) { classicMap.get(key) }
List<Key> getKeys(Value value ) { return valueMap.get(value); }
quindi usando il pattern della composizione
spero di essermi spiegato .. ma prima dai una sgooglata magari trovi una classe ad hoc