kotlin sort list by field code example

Example 1: sort object list kotlin

val dates = mutableListOf(
	Date(2020, 4, 3),
	Date(2021, 5, 16),
	Date(2020, 1, 29)
)

println("--- ASC ---")
dates.sortWith(compareBy<Date> { it.year }.thenBy { it.month }.thenBy { it.day })
dates.forEach { println(it) }

Example 2: sort object list kotlin

println("--- DESC ---")
val sortedDatesDescending =
	dates.sortedWith(compareBy<Date> { it.year }.thenBy { it.month }.thenBy { it.day }).reversed()
dates.forEach { println(it) }
println("------")
sortedDatesDescending.forEach { println(it) }