Согласно приведенному вами примеру, вы хотите отсортировать коллекцию по возрасту (по возрастанию), а затем по имени в алфавитном порядке.
Этого легко добиться в Kotlin, используя функцию расширения sortedWith
(который принимает Comparator
):
data class Person(val name: String, val age: Int)
fun main() {
val people = listOf(
Person("Ahmed", 25),
Person("Fethi", 28),
Person("Abdou", 28)
)
val comparator = Comparator.comparingInt(Person::age).thenComparing(Person::name)
val sortedPeople = people.sortedWith(comparator)
println(sortedPeople)
}
Результат:
[Person(name=Ahmed, age=25), Person(name=Abdou, age=28), Person(name=Fethi, age=28)]
Примечание: я немного изменил класс Person
и метод main
, чтобы следовать соглашениям Kotlin илучшие практики для изменяемых переменных и обнуляемых типов