distinct By
Версия Kotlin: 1.0
inline fun <T, K> Array<out T>.distinctBy(selector: (T) -> K): List<T>
Возвращает список, содержащий только элементы из данного массива с различными ключами, возвращаемыми заданной функцией селектора.
Среди элементов данного массива с одинаковыми ключами в результирующий список попадёт только первый. Элементы в результирующем списке расположены в том же порядке, что и в исходном массиве.
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//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>
Возвращает список, содержащий только элементы из данного массива с различными ключами, возвращаемыми заданной функцией селектора.
Элементы в результирующем списке расположены в том же порядке, что и в исходном массиве.
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//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>
Возвращает список, содержащий только элементы из данной коллекции с различными ключами, возвращаемыми заданной функцией селектора.
Среди элементов данной коллекции с одинаковыми ключами в результирующий список попадёт только первый. Элементы в результирующем списке расположены в том же порядке, что и в исходной коллекции.
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//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–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/distinct-by.html