【发布时间】:2011-10-12 09:44:11
【问题描述】:
我想要一张允许树状行为的地图。我希望能够定义一个从字符串到对象的映射,它可以是另一个映射,也可以是一个字符串:
Map<String,(String OR Map)>
我认为我知道如何做到这一点的唯一方法是通过访问者模式。是否有已经实现的数据结构?
更新: 这是上下文: 我想解析通过发布请求提交的表单。表单是多级的,可以有任意数量的字段(由用户选择)。我决定做的是用数字命名表单中的字段:
- 用户|名称
- 处理器|1|速度
- 处理器|1!name
- 处理器|2|速度
- 磁盘|1|名称
- 磁盘|2|名称
我决定在 | 分手然后创建一个类似树的结构,它看起来像这样:
- 用户
- name = 用户输入的任何内容
- 处理器
- 1
- 速度 = 用户输入的任何内容
- name = 用户输入的任何内容
- 2
- 速度 = 用户输入的任何内容
- 1
- 磁盘
- 1
- name = 用户输入的任何内容
- 2
- name = 用户输入的任何内容
- 1
只有最后的叶子会包含字符串。没有那么多字段,所以我觉得使用地图可能有点矫枉过正,但老实说,我真的不知道如何使用其他任何东西。
【问题讨论】:
标签: java design-patterns data-structures map visitor-pattern