nullsFirst

fun <T : Any> nullsFirst(comparator: Comparator<in T>): Comparator<T?>(source)

Extends the given comparator of non-nullable values to a comparator of nullable values considering null value less than any other value. Non-null values are compared with the provided comparator.

Since Kotlin

1.0

Samples

import kotlin.test.*

fun main() { 
   //sampleStart 
   val list = listOf(4, null, 1, -2, 3)

val nullsFirstList = list.sortedWith(nullsFirst(reverseOrder()))
println(nullsFirstList) // [null, 4, 3, 1, -2]

val nullsLastList = list.sortedWith(nullsLast(reverseOrder()))
println(nullsLastList) // [4, 3, 1, -2, null] 
   //sampleEnd
}

inline fun <T : Comparable<T>> nullsFirst(): Comparator<T?>(source)

Provides a comparator of nullable Comparable values considering null value less than any other value. Non-null values are compared according to their natural order.

Since Kotlin

1.0

Samples

import kotlin.test.*

fun main() { 
   //sampleStart 
   val list = listOf(4, null, -1, 1)

val nullsFirstList = list.sortedWith(nullsFirst())
println(nullsFirstList) // [null, -1, 1, 4]

val nullsLastList = list.sortedWith(nullsLast())
println(nullsLastList) // [-1, 1, 4, null] 
   //sampleEnd
}