Creates a comparator using the primary comparator and function to calculate a result of comparison.
Since Kotlin
1.1Samples
import kotlin.test.*
fun main() {
val list = listOf("c" to 1, "b" to 2, "a" to 1, "d" to 0, null to 0)
val valueComparator = compareBy<Pair<String?, Int>> { it.second }
val map1 = list.sortedWith(valueComparator).toMap()
println(map1)
val valueThenKeyComparator = valueComparator
.thenComparator({ a, b -> compareValues(a.first, b.first) })
val map2 = list.sortedWith(valueThenKeyComparator).toMap()
println(map2)
}
Target: JVMRunning on v.2.1.20
Creates a comparator using the primary comparator and function to calculate a result of comparison.
Since Kotlin
1.0Samples
import kotlin.test.*
fun main() {
val list = listOf("c" to 1, "b" to 2, "a" to 1, "d" to 0, null to 0)
val valueComparator = compareBy<Pair<String?, Int>> { it.second }
val map1 = list.sortedWith(valueComparator).toMap()
println(map1)
val valueThenKeyComparator = valueComparator
.thenComparator({ a, b -> compareValues(a.first, b.first) })
val map2 = list.sortedWith(valueThenKeyComparator).toMap()
println(map2)
}
Target: JVMRunning on v.2.1.20