distinctBy
Returns a sequence containing only elements from the given sequence having distinct keys returned by the given selector function.
The elements in the resulting sequence are in the same order as they were in the source sequence.
The operation is intermediate and stateful.
import kotlin.test.*
fun main(args: Array<String>) {
//sampleStart
val list = listOf('a', 'A', 'b', 'B', 'A', 'a')
println(list.distinct()) // [a, A, b, B]
println(list.distinctBy { it.toUpperCase() }) // [a, b]
//sampleEnd
}