Kotlin - Sort ArrayList of Custom Objects By Property

🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.

▶️ Subscribe to My YouTube Channel (178K+ subscribers): Java Guides on YouTube

▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube

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.

My Top and Bestseller Udemy Courses. The sale is going on with a 70 - 80% discount. The discount coupon has been added to each course below:

Comments

Spring Boot 3 Paid Course Published for Free
on my Java Guides YouTube Channel

Subscribe to my YouTube Channel (165K+ subscribers):
Java Guides Channel

Top 10 My Udemy Courses with Huge Discount:
Udemy Courses - Ramesh Fadatare