Groovy按整数值排序地图(最高值优先)

时间:2017-01-24 20:34:58

标签: sorting groovy

我的问题与this类似,但一个关键区别是要排序的值是整数。所以例如我有

  def acctressesByHotnessLevel=[
        "Jennifer Lawrence":8,
        "Emma Watson":9,
        "Felicity Jones":8,
        "Brie Larson":10
 ];

Map sorted = acctressesByHotnessLevel.sort { a, b -> a.value <=> b.value }
sorted.each{ k, v -> println "${k}:${v}" }

现在首先打印最低整数的值,但我希望首先打印最高值。

1 个答案:

答案 0 :(得分:2)

交换您的排序比较:

Map sorted = acctressesByHotnessLevel.sort { a, b -> b.value <=> a.value }

或使用reverseEach

sorted.reverseEach { k, v -> println "${k}:${v}" }