В обычной Java Map можно найти значение по уникальному ключу. Двусторонняя map требует, чтобы и ключи, и значения были уникальными, создавая взаимно однозначное соответствие в обе стороны. Это позволяет тебе найти ключ по его значению — двусторонняя связь.
В Java Development Kit (JDK) нет встроенной структуры данных для двустороннего поиска в map. Тебе нужно использовать внешние библиотеки, которые обеспечивают ограничение взаимно однозначного соответствия между ключами и значениями.
BidiMapinverseBidiMap()BiMapinverse() для обратного доступа// Использование Guava BiMap
BiMap<String, Integer> biMap = HashBiMap.create();
biMap.put("One", 1);
biMap.put("Two", 2);
// Прямой поиск
Integer value = biMap.get("One"); // Возвращает 1
// Обратный поиск
String key = biMap.inverse().get(1); // Возвращает "One"
Выбирай Guava BiMap для современных Java-проектов или Commons Collections BidiMap, если работаешь с legacy-системами.
Двусторонняя карта требует, чтобы и ключи, и значения поддерживали взаимно однозначное соответствие, то есть каждый ключ соответствует ровно одному значению и каждое значение соответствует ровно одному ключу.
Новый — ещё не проверен сообществом
Вы