使用sort方法梗醇,根據(jù)閉包中定義的條件對Map集合進(jìn)行排序
class GroovyTest {
static void main(args) {
def people = [
1: [name: 'Bob', age: 32, gender: 'M'],
2: [name: 'Johnny', age: 36, gender: 'M'],
3: [name: 'Claire', age: 21, gender: 'F'],
4: [name: 'Amy', age: 54, gender: 'F']
]
def peopleSorted = people.sort({p1,p2 ->
return p1.value.age == p2.value.age ? 0 : p2.value.age < p1.value.age ? -1 : 1
})
println people
println peopleSorted
}
}
輸出:
[1:[name:Bob, age:32, gender:M], 2:[name:Johnny, age:36, gender:M], 3:[name:Claire, age:21, gender:F], 4:[name:Amy, age:54, gender:F]]
[4:[name:Amy, age:54, gender:F], 2:[name:Johnny, age:36, gender:M], 1:[name:Bob, age:32, gender:M], 3:[name:Claire, age:21, gender:F]]