This Kotlin example shows how to sort an ArrayList of a custom object by their given property in Kotlin.
Kotlin - Sort ArrayList of Custom Objects By Property
In the below program, we created a User class with firstName and lastName properties. We sort list of user objects with user's firstName.
package net.javaguides.kotlin.examples
import java.util.Arrays
fun main(args: Array < String > ) {
val list = ArrayList < User > ()
list.add(User("Tony", "Stark"))
list.add(User("Tom", "Cruise"))
list.add(User("John", "Cena"))
list.add(User("Ramesh", "Fadatare"))
var sortedList = list.sortedWith(compareBy({
it.firstName
}))
for (obj in sortedList) {
println(obj.firstName)
}
}
class User {
// Properties or Member Variables
var firstName: String;
var lastName: String;
// Secondary Constructor
constructor(firstName: String, lastName: String) {
this.firstName = firstName
this.lastName = lastName
}
}
Output:
John
Ramesh
Tom
Tony
In the above example, to sort the list with the property, we used list's sortedWith() method. The sortedWith() method takes a comparator compareBy that compares firstName of each object and sorts it.
The sorted list is then stored in the variable sortedList.
Comments
Post a Comment
Leave Comment