Мне нужна структура данных, которая ведет себя как карта,
но использует несколько (по-разному) ключей для доступа к своим значениям.
(Пусть не слишком общие, скажем два)
Ключи гарантированно будут уникальными.
Что-то вроде:
MyMap<K1,K2,V> ...
С помощью таких методов, как:
getByKey1(K1 key)...
getByKey2(K2 key)...
containsKey1(K1 key)...
containsKey2(K2 key)...
Есть ли у вас какие-либо предложения?
Единственное, о чем я могу думать:
Напишите класс, который использует два Maps внутри.
ИЗМЕНИТЬ
Некоторые люди предлагают мне использовать кортеж, пару или похожий как ключ для
Java Map, но этот не работает для меня:
Я должен уметь, как написано выше, искать значения только одним из двух указанных ключей.
Карты используют хэш-коды ключей и проверяют их равенство.