distinctBy
inline fun <T, K> Array<out T>.distinctBy( selector: (T) -> K ): List<T>
Возвращает список, содержащий только элементы из заданного массива, имеющие уникальные ключи, возвращаемые заданной функцией selector.
Среди элементов заданного массива с одинаковыми ключами в результирующем списке будет присутствовать только первый. Элементы в результирующем списке расположены в том же порядке, что и в исходном массиве.
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.uppercaseChar() }) // [a, b]
//sampleEnd
}inline fun <K> ByteArray.distinctBy( selector: (Byte) -> K ): List<Byte>
inline fun <K> ShortArray.distinctBy( selector: (Short) -> K ): List<Short>
inline fun <K> IntArray.distinctBy( selector: (Int) -> K ): List<Int>
inline fun <K> LongArray.distinctBy( selector: (Long) -> K ): List<Long>
inline fun <K> FloatArray.distinctBy( selector: (Float) -> K ): List<Float>
inline fun <K> DoubleArray.distinctBy( selector: (Double) -> K ): List<Double>
inline fun <K> BooleanArray.distinctBy( selector: (Boolean) -> K ): List<Boolean>
inline fun <K> CharArray.distinctBy( selector: (Char) -> K ): List<Char>
Возвращает список, содержащий только элементы из заданного массива байтов, имеющие уникальные ключи, возвращаемые заданной функцией selector.
Элементы в результирующем списке расположены в том же порядке, что и в исходном массиве.
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.uppercaseChar() }) // [a, b]
//sampleEnd
}inline fun <T, K> Iterable<T>.distinctBy( selector: (T) -> K ): List<T>
Возвращает список, содержащий только элементы из заданной коллекции, имеющие уникальные ключи, возвращаемые заданной функцией selector.
Среди элементов заданной коллекции с одинаковыми ключами в результирующем списке будет присутствовать только первый. Элементы в результирующем списке расположены в том же порядке, что и в исходной коллекции.
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.uppercaseChar() }) // [a, b]
//sampleEnd
}
© 2010–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/distinct-by.html