地图可以嵌套多深,有没有更好的方法

问题描述 投票:0回答:1

我正在创建具有此结构的 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 更好的数据结构来实现所需的输出?

java xml nested maps
1个回答
0
投票

我认为你有这种落后 - 从建模你的类开始,然后担心 xml 序列化 - 在你的情况下,你会想要这样的东西:

record Details(String name,List<Result> results) ;

record Result(LocalDate date,String value) ;
© www.soinside.com 2019 - 2024. All rights reserved.