thenComparator
所在位置是kotlin.comparisons.thenComparator
,其相关用法介绍如下。
用法:
inline fun <T> Comparator<T>.thenComparator(
crossinline comparison: (a: T, b: T) -> Int
): Comparator<T>
使用主比较器和函数创建比较器以计算比较结果。
例子:
import kotlin.test.*
fun main(args: Array<String>) {
//sampleStart
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) // {d=0, null=0, c=1, a=1, b=2}
val valueThenKeyComparator = valueComparator
.thenComparator({ a, b -> compareValues(a.first, b.first) })
val map2 = list.sortedWith(valueThenKeyComparator).toMap()
println(map2) // {null=0, d=0, a=1, c=1, b=2}
//sampleEnd
}
输出:
{d=0, null=0, c=1, a=1, b=2} {null=0, d=0, a=1, c=1, b=2}
相关用法
- Kotlin then用法及代码示例
- Kotlin thenBy用法及代码示例
- Kotlin thenByDescending用法及代码示例
- Kotlin thenDescending用法及代码示例
- Kotlin toTypedArray用法及代码示例
- Kotlin toByteArray用法及代码示例
- Kotlin take用法及代码示例
- Kotlin toBooleanStrict用法及代码示例
- Kotlin takeWhile用法及代码示例
- Kotlin takeLastWhile用法及代码示例
- Kotlin to用法及代码示例
- Kotlin takeLast用法及代码示例
- Kotlin toBooleanStrictOrNull用法及代码示例
- Kotlin titlecase用法及代码示例
- Kotlin toSortedMap用法及代码示例
- Kotlin toProperties用法及代码示例
- Kotlin toList用法及代码示例
- Kotlin toString用法及代码示例
- Kotlin trimIndent用法及代码示例
- Kotlin trimMargin用法及代码示例
- Kotlin associateBy用法及代码示例
- Kotlin all用法及代码示例
- Kotlin map用法及代码示例
- Kotlin filterNot用法及代码示例
- Kotlin reduceRight用法及代码示例
注:本文由纯净天空筛选整理自kotlinlang.org大神的英文原创作品 kotlin.comparisons.thenComparator。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。