И are
, и is
являются значениями , сопоставленными с клавишей sec-key
. Не существует простого способа поиска значения по другому значению, используя только мультикарту. Mutlimap предназначен для отображения ключей в значений . Не значения для значений.
Конечно, вы могли бы сделать что-то подобное, но это очень неэффективно - этот код требует от нас перебора всей карты:
for (Entry<String, String> entry : map.entries()){
if (entry.getValue().equals("are")) {
System.out.println(map.get(entry.getKey())); //will print the values mapped to the same key as `are`.
break;
}
}
Лучшее решение будетиспользовать вторую карту, в которой ключом будет are
, а значением будет is
(или одно из значений в случае Mutlimap
). Если вы синхронизируете обе мутлимапы, вы сможете быстро выполнять поиск в обоих направлениях.