我正在创建具有此结构的 XML 文件
<test details>
<test name>test 1</test name
<test result>
<test date>2023-01-03</test date>
<test value>16</test value>
<test date>2023-01-02</test date>
<test value>18</test value>
<test date>2023-01-01</test date>
<test value>24</test value>
</test result>
<test name>test 2</test name>
<test result>
<test date>2023-01-03</test date>
<test value>16</test value>
<test date>2023-01-02</test date>
<test value>18</test value>
<test date>2023-01-01</test date>
<test value>24</test value>
</test result>
</test name>
</test details>
我的计划是对巢的每个深度使用地图。 我想我可以根据需要将地图嵌套得尽可能深,但迭代它们一定是一场噩梦。
这是我对创建 XML 所需的数据结构的思考
**test result** is a list of maps Map<date, value> results;
**test name** is a list of maps Map<key, Map of results> testNames;
**test details** is a list of maps Map<key, Map of test names> testDetails;
除了测试日期需要按时间降序排列之外,地图不一定需要排序。也就是说,我目前的想法是使用 TreeMap 来保持整洁
我的问题是: 我是否需要一个深度为 3 的嵌套 for 循环来迭代所有映射,是否有比 Map 更好的数据结构来实现所需的输出?
我认为你有这种落后 - 从建模你的类开始,然后担心 xml 序列化 - 在你的情况下,你会想要这样的东西:
record Details(String name,List<Result> results) ;
record Result(LocalDate date,String value) ;