Kotlin - Sort ArrayList of Custom Objects By Property

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.

Continue Learning with Java Guides

Want to take your programming skills to the next level? Explore my practical Udemy courses on Java, Spring Boot, Microservices, Full-Stack Development, Docker, and Generative AI. You can also follow my structured learning roadmaps to become a professional developer.

By Ramesh Fadatare - Udemy Instructor Partner

Comments