23、map sort

2023-05-12  本文已影响0人  许你一枝花

使用sort方法,根据闭包中定义的条件对Map集合进行排序

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]]

上一篇 下一篇

猜你喜欢

热点阅读