Groovy 排序映射

时间:2021-05-12 11:40:51

标签: groovy

请你帮我整理地图

 def map = [
  [name:"Jerry", age: 42],
  [name:"Long", age: 25],
  [name:"Dustin", age: 29],
  [name:"Bin", age: 34]]

  map.each{entry -> println "$entry.name : $entry.age : $entry.city" }

给我

Jerry : 42 : null
Long : 25 : null
Dustin : 29 : null
Bin : 34 : null

我想按年龄降序来排序

Jerry : 42 : null
Bin : 34 : null
Dustin : 29 : null
Long : 25 : null

 sortedone = map.sort { a, b -> a.value <=> b.value }

对我不起作用。 请问你能帮忙吗?

1 个答案:

答案 0 :(得分:4)

您可以使用 sort(Closure) 方法:

def map = [
  [name:"Jerry", age: 42],
  [name:"Long", age: 25],
  [name:"Dustin", age: 29],
  [name:"Bin", age: 34]]

map.sort { -it.age }

println map

[[name:Jerry, age:42], [name:Bin, age:34], [name:Dustin, age:29], [name:Long, age:25]]
相关问题