У меня есть требование, когда мне нужно сопоставить набор конфигураций с набором значений, в идеале обозначаемых структурой Map<Map<String, Object>, Map<String, Object>>
.Использование HashMap в качестве ключа для другого HashMap
В обеих конфигурациях & значениями основной карты являются произвольные &, поэтому я не могу использовать конкретный класс.
Просьба сообщить об этой структуре. Может ли Карта использоваться в качестве ключа для другой Карты. Проведя немного исследований, я смог установить, что метод равных карт использует все базовые ключи. & Ценности, чтобы считать два Карты равными. Кроме того, HashCode карты основан на хэш-кодах ключей карты. Эта ИМО должна удовлетворять минимальным требованиям использования Карты в качестве ключа.
Мне бы хотелось, чтобы кто-то подтвердил это, прежде чем я продолжу реализацию. Если есть лучшее решение/дизайн, который может предложить кто-то, пожалуйста, не стесняйтесь.
EDIT
Я закончил с использованием простой тильды ('~') & трубы ('|'), разделенных строки в качестве ключа & деконструкции его всякий раз, когда это необходимо. Спасибо всем, кто помог.
У вас нет этого требования. Вы только думаете, что делаете. – Raedwald
Возможно, вы каким-то образом взломали его, но я думаю, вы должны отступить и быть на 100% уверенным, что не можете использовать String или Pojo в качестве ключа. –
Составление карт карт - это ключ к созданию отдельных классов. –