Groovy按名称排序列表,升序按年龄排序

时间:2018-10-02 13:09:04

标签: groovy soapui

如何按相反顺序按2个字段对列表排序?我正在尝试按名称(升序)和年龄(降序)对列表进行排序。我尝试过:

list.sort { -it }

用于降序,

list.sort { it }

代表升序,但没有考虑两个不同的字段。可以像这样对列表进行排序吗?

1 个答案:

答案 0 :(得分:2)

类似

def list = [ [name:1, age:2], [name:2, age:10], [name:1, age:20] ]

list = list.sort{ a, b -> a.name <=> b.name ?: b.age <=> a.age }

assert [[name:1, age:20], [name:1, age:2], [name:2, age:10]] == list