Кроме объединения ключей в строку, как вы упомянули (что очень хорошо для IMO), другой вариант - использовать несколько вложенных Map
с.Например, для 3d-структуры доступ к 1,2,3
(скажем, к осям x, y и z) можно сделать с помощью
bigMap.get(1).get(2).get(3)
, где bigMap
(содержащий 3d-структуру) содержит Map
значений для каждого среза y и z, и каждое из этих имеет ключи Map, соответствующие каждому срезу z, а каждая карта z-slice имеет значения, содержащие информацию по каждой координате.
Но хотя это возможность , ваше представление об объекте или Map
, проиндексированном координатами, разделенными запятыми, совершенно нормально и, вероятно, более понятно с первого взгляда. IMO.
Помните, что свойство объектапоиск - это O(1)
точно так же, как Map
поиск - нет снижения производительности, если вы используете один объект (или Map
), индексированный по строкам.