Avatar ·

Ordenamiento de una colección por varios campos en Kotlin

¡Hola a todos! Acabo de empezar a aprender Kotlin y me encontré con la tarea de ordenar una lista de objetos por varios campos. Por ejemplo, tengo una clase Person: ```kotlin data class Person(val name: String, val age: Int, val height: Double) ``` Y una lista de personas: ```kotlin val people = listOf( Person("Alice", 25, 165.0), Person("Bob", 30, 180.0), Person("Charlie", 25, 170.0), Person("Alice", 30, 160.0) ) ``` Necesito ordenar esta lista primero por nombre (ascendente), luego por edad (ascendente) y después por altura (descendente). En Java usaría Comparator con una cadena de thenComparing. En Kotlin existe la función sortedWith, pero no entiendo cómo aplicarla correctamente para varios campos. Intenté escribir algo como: ```kotlin val sorted = people.sortedWith(compareBy({ it.name }, { it.age })) ``` Pero esto solo ordena por dos campos. ¿Y cómo añado el orden descendente para la altura? En general, ¿hay una forma más concisa? Agradecería