Mapa com chave bidimensional em java
Eu quero um mapa indexado por duas chaves (um mapa no qual você coloca E recupera valores usando duas chaves) em Java. Só para esclarecer, estou procurando o seguinte comportamento:
map.put(key1, key2, value);
map.get(key1, key2); // returns value
map.get(key2, key1); // returns null
map.get(key1, key1); // returns null
Qual é o melhor caminho para isso? Mais especificamente, devo usar:
Map<K1,Map<K2,V>>
Map<Pair<K1,K2>, V>
De outros
(onde K1, K2, V são os tipos de primeira chave, segunda chave e valor, respectivamente)