Это в некоторой степени связано с моим предыдущим вопросом, но я осознал, что мне нужно было решить проблему с вложенностью ранее в этой проблеме, так что вот где я нахожусь. (Я также недалек от того, чтобы быть новичком в Java, поэтому, пожалуйста, потерпите меня).
Я создаю простую систему бронирования для 5 комнат, которая будет содержать имена, время, номера комнат и дни. Это должно быть сделано с использованием вложенных TreeMaps. Вот схема данных, как я ее вижу, где паретезы представляют границы TreeMap:
(День, (Комната №, (Время, Имя)))
Насколько я вижу, мне нужна одна TreeMap для времени и имен, одна для каждой комнаты, затем одна для каждого дня. Это означает, что одна карта дерева времени / имени на комнату в день, что означает 1 x 5 x 7 = 35 TreeMaps. Как это:
{Mon, [Room 1, (0600, NameA
0630, NameB
0700, NameC)
Room 2, (0600, NameD
0630, NameE)
Room 3, (0600, NameF
0630, NameG)]
Tues, [Room 1, (0600, Name1
0630, Name2)
Room 2, (0600, Name3
0630, Name4
0700, Name5)]}
(различные типы скобок представляют границы вложенных TreeMaps)
Придя к такому выводу, моя следующая проблема - перебрать цикл для создания всех этих древовидных карт. Кажется, я не могу динамически генерировать TreeMaps, используя цикл for, потому что я не могу прикрепить номер переменной счетчика к имени только что созданного TreeMap.
У меня было это:
TreeMap keyDay = new TreeMap();
TreeMap keyRoom = new TreeMap();
TreeMap keyTime = new TreeMap();
но это только три, что явно недостаточно для дублирования ключей - любые новые записи, например, «0900» (ключ времени) или, например, «Номер 1» (ключ от номера) заменит старые.
У кого-нибудь есть предложения? Буду очень признателен:)