Получить ключ, используя значение из карты, содержащей повторяющиеся ключи или значения
У меня есть карта с дублирующимися значениями. Теперь я хочу получить ключ, используя значение без перебора всех объектов Map.Entries. У меня есть более 500 записей на карте. Я не хочу повторять всю карту каждый раз.
Я думал об использовании BiMap из коллекций Google. Но BiMap не поддерживает дубликаты ключей. Может ли кто-нибудь подсказать, какие другие сторонние библиотеки могут быть использованы для решения этой проблемы?
Обновление: карта содержит повторяющиеся значения и загружается из текстового файла, содержащего пары ключ-значение.
2 ответа
У меня есть карта
... ну, это твоя проблема! Похоже, данные не совсем соответствуют ограничениям BiMap. Попробуйте сохранить другой упорядоченный набор ваших данных, инкапсулированных в виде кортежей (или пары упорядоченных наборов).
Вы можете использовать ListMultimap, а затем использовать Multimaps.invertFrom(), чтобы получить обратное отображение.