23、map sort

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容