23、map sort

使用sort方法,根據(jù)閉包中定義的條件對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]]

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容