Kotin сортировать по убыванию, затем по возрастанию - PullRequest
0 голосов
/ 08 апреля 2020

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

 var people = listOf<People>(People("palazo", "ooo", 1),
            People("asdf", "cccc", 2),
            People("Maria", "ooo", 3),
            People("Helena", "ccccc", 3),
            People("Carlos", "ccc", 4),
            People("Jhon", "ooo", 2)
    )

Есть ли такой способ сделать это? (я знаю, что это неправильно) people = people.sortedByDescending {it.name} .thenBy {it.lastname} .thenDescending {it.age}

или добавьте к:

   people.sortedWith(compareBy(People::name, People::lastName)) 
   //but mixing ascending and descending

1 Ответ

1 голос
/ 08 апреля 2020
val sortedPeople = people.sortedWith(
    compareByDescending(People::name)
        .thenBy(People::lastName)
        .thenByDescending(People::age)
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...