按特定顺序对地图进行排序

时间:2016-09-02 14:53:02

标签: java

我有以下对象:

Map<String, Map<String, Serializable>> resultList;

其中包含以下值:

{
for_closing={count=3, status=For closing}, 
overdue={count=1, status=Overdue}, 
closed={count=1, status=Closed}, 
for_action={count=3, status=For action}
}

我想按照特定的顺序(for_action,for_closing,closed,overdue)对这个Map进行排序,可能还有enum或者什么?排序后resultList将具有以下顺序:

{
for_action={count=3, status=For action}
for_closing={count=3, status=For closing}, 
closed={count=1, status=Closed}, 
overdue={count=1, status=Overdue}, 
}

1 个答案:

答案 0 :(得分:2)

您可以按所需顺序定义枚举:

public enum Tasks {
    FOR_ACTION,
    FOR_CLOSING,
    CLOSED,
    OVERDUE
}

然后使用Enum作为键创建一个TreeMap。

TreeMap<Tasks, Map<String, Serializable>> resultList;