有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我们如何对嵌套字典进行排序,其中条目按键排序(在每个嵌套字典中)?

嵌套字典是一种字典,其键为字符串,值为字符串或其他嵌套字典。给定一个字符串表示,我们需要返回一个字符串表示,其中条目按键排序(在每个嵌套字典中)

Input: { b:{cb:cranberry,bb:blueberry},a:apple,c:cherry}
Output:  { a:apple,b:{bb:blueberry,cb:cranberry},c:cherry}

在这里,最外层字典中的条目已按键重新排序(即从b,a,ca,b,c)。类似地,最内层字典中的条目已按键重新排序(即从cb,bbbb,cb

另外,请注意:输出将具有与输入字符串相同的通用格式。除了在每个嵌套字典中,键应该按照增加的字典顺序排序(例如a<b<bb<bbb<bc<c


共 (1) 个答案

  1. # 1 楼答案

    这闻起来像是一个面试问题。无论如何

    基本思想:

    • 您逐个字符地迭代输入字符
    • 使用Stack按深度存储每个dict深度。堆栈顶部将有最深的子目录
    • 每次扫描子目录时,将子目录转换为字符串值,并从父目录中分配属于密钥的值
    • 您可以用Java中的TreeMap表示每个dict/sub dict
      使用TreeMap而不是HashMap,因为TreeMap已经按照条目的键对条目进行了排序

    如果不给出完整的解决方案,很难把它“弄清楚”。希望能有帮助