Мне нужна карта, проиндексированная двумя ключами (карта, в которую вы помещаете И извлекаете значения, используя два ключа) в Java. Просто чтобы прояснить, я ищу следующее поведение:
map.put(key1, key2, value);
map.get(key1, key2); // returns value
map.get(key2, key1); // returns null
map.get(key1, key1); // returns null
Какой лучший способ это сделать? Более конкретно, я должен использовать:
Map<K1,Map<K2,V>>
Map<Pair<K1,K2>, V>
Другое
(где K1, K2, V - типы первого ключа, второго ключа и значения соответственно)