Я хочу иметь карту, которая допускает древовидное поведение.Я хочу иметь возможность определить карту из строки в объект, который может быть другой картой или строкой:
Map<String,(String OR Map)>
Единственный способ, которым я думаю, что я знаю, как это сделать, это через шаблон посетителя,Есть ли уже созданная структура данных, которая реализует это?
ОБНОВЛЕНИЕ: Вот контекст: я хочу проанализировать форму, отправленную через запрос на публикацию.Форма является многоуровневой и может иметь произвольное количество полей (выбирается пользователем).Я решил назвать поля в форме цифрами:
- Пользователь | имя
- процессор | 1 | скорость
- процессор | 1! имя
- процессор | 2 | скорость
- диск | 1 | имя
- диск | 2 | имя
Я решил разбить егов |а затем создайте древовидную структуру, чтобы она выглядела примерно так:
- Пользователь
- имя = все, что пользователь вводит
- Процессор
- 1
- скорость = все, что пользователь вводит
- имя = все, что пользователь вводит
- 2
- скорость= все, что пользователь вводит
- Диск
- 1
- name = все, что пользователь вводит
- 2
- name = независимо от того, что пользователь вводит
Только последние листья будут содержать строки.Не так много полей, поэтому я чувствовал, что использование карты может быть немного излишним, но, честно говоря, я действительно не знал, как сделать это с чем-то еще.