Comparator
typealias Comparator<T> = Comparator<T>
Provides a comparison function for imposing a total ordering between instances of the type T.
Functions
compare
Compares its two arguments for order. Returns zero if the arguments are equal, a negative number if the first argument is less than the second, or a positive number if the first argument is greater than the second.
abstract fun compare(a: T, b: T): Int
Extension Functions
reversed
Returns a comparator that imposes the reverse ordering of this comparator.
fun <T> Comparator<T>.reversed(): Comparator<T>
then
Combines this comparator and the given comparator such that the latter is applied only when the former considered values equal.
infix fun <T> Comparator<T>.then(
comparator: Comparator<in T>
): Comparator<T>
thenBy
Creates a comparator comparing values after the primary comparator defined them equal. It uses the function to transform value to a Comparable instance for comparison.
fun <T> Comparator<T>.thenBy(
selector: (T) -> Comparable<*>?
): Comparator<T>
Creates a comparator comparing values after the primary comparator defined them equal. It uses the selector function to transform values and then compares them with the given comparator.
fun <T, K> Comparator<T>.thenBy(
comparator: Comparator<in K>,
selector: (T) -> K
): Comparator<T>
thenByDescending
Creates a descending comparator using the primary comparator and the function to transform value to a Comparable instance for comparison.
fun <T> Comparator<T>.thenByDescending(
selector: (T) -> Comparable<*>?
): Comparator<T>
Creates a descending comparator comparing values after the primary comparator defined them equal. It uses the selector function to transform values and then compares them with the given comparator.
fun <T, K> Comparator<T>.thenByDescending(
comparator: Comparator<in K>,
selector: (T) -> K
): Comparator<T>
thenComparator
Creates a comparator using the primary comparator and function to calculate a result of comparison.
fun <T> Comparator<T>.thenComparator(
comparison: (a: T, b: T) -> Int
): Comparator<T>
thenDescending
Combines this comparator and the given comparator such that the latter is applied only when the former considered values equal.
infix fun <T> Comparator<T>.thenDescending(
comparator: Comparator<in T>
): Comparator<T>