How to sort collection by multiple fields in Kotlin
In this recipe, we will learn how to sort a collection by multiple fields in Kotlin. This often comes in handy when we want to give precedence to an object over another object when both have equal value on a specific property. For example, we might have a list of Student
objects and want to arrange them in ascending order of age, but if two students have the same age, we will order them based on their GPA. In this recipe, we will see how to handle use cases like this. So let's get started!
Getting ready
I'll be using IntelliJ IDEA for writing and running Kotlin code; you are free to use any IDE that can do the same task.
How to do it…
Now, let's follow these steps to sort based on multiple fields of an object:
- First, let's create the
Student
class:
class Student(val age:Int, val GPA: Double)
- Then, create a list of
Student
objects:
val studentA=Student(11,2.0) val studentB=Student(11,2.1) val studentC=Student(11,1.3) val studentD=Student(12,1.3...