在Groovy中按嵌套映射值对映射进行排序

时间:2017-06-13 00:48:14

标签: groovy

我有这张地图:

func didDisconnect

并希望按子地图属性降序排序" count"所以结果应该是:

def mapToSort = [one:[count:10], two:[count:20], three:[count:30]]

我尝试了这个没有成功:

[three:[count:30], two:[count:20], one:[count:10]]

1 个答案:

答案 0 :(得分:1)

您的排序逻辑是正常的,但结果是一个新的有序地图。试试这个:

def sortedMap = mapToSort.sort{ a, b -> b.value.count <=> a.value.count }
println sortedMap