Groovy сортировать список по возрасту и по возрасту - PullRequest
0 голосов
/ 02 октября 2018

Как отсортировать список по 2 полям в обратном порядке?Я пытаюсь отсортировать список по имени (по возрастанию) и по возрасту (по убыванию).Я пробовал:

list.sort { -it }

для убывания и

list.sort { it }

для возрастания, но в нем не учитываются два разных поля.Можно ли отсортировать список таким образом?

1 Ответ

0 голосов
/ 02 октября 2018

Что-то вроде

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