Я хочу, чтобы карта была проиндексирована двумя ключами (карта, в которую вы помещаете И извлекаете значения, используя два ключа) в 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 - типы первого ключа, второго ключа и значения соответственно)