Disons que j'ai une liste de Gens à qui j'ai besoin de trier par Âge à la première, puis par Nom.
Venant d'un C#-fond, je peux facilement réaliser cela dans cette langue par l'utilisation de LINQ:
var list=new List<Person>();
list.Add(new Person(25, "Tom"));
list.Add(new Person(25, "Dave"));
list.Add(new Person(20, "Kate"));
list.Add(new Person(20, "Alice"));
//will produce: Alice, Kate, Dave, Tom
var sortedList=list.OrderBy(person => person.Age).ThenBy(person => person.Name).ToList();
Comment accomplir cela en utilisant Kotlin?
C'est ce que j'ai essayé (c'est évidemment faux puisque la sortie de la première "sortedBy" clause obtient remplacé par le second qui résultats dans une liste triée par Nom seulement)
val sortedList = ArrayList(list.sortedBy { it.age }.sortedBy { it.name })) //wrong