Kotlin distinctBy用法及代码示例

本文方法及代码示例基于Kotlin 2.1.20 Released

distinctBy 所在包 kotlin.collections.distinctBy,其相关用法介绍如下:

用法一

kotlin 复制代码
inline fun <T, K> Array<out T>.distinctBy(     
    selector: (T) -> K 
): List<T>

返回一个列表,该列表仅包含给定数组中具有给定 selector 函数返回的不同键的元素。

在给定数组的具有相同键的元素中,只有第一个元素会出现在结果列表中。结果列表中的元素与它们在源数组中的顺序相同。

用法二

kotlin 复制代码
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 函数返回的不同键的元素。

结果列表中的元素与它们在源数组中的顺序相同。

用法三

kotlin 复制代码
inline fun <T, K> Iterable<T>.distinctBy(     
    selector: (T) -> K 
): List<T>

返回一个列表,该列表仅包含给定数组中具有给定 selector 函数返回的不同键的元素。

在给定集合的具有相同键的元素中,只有第一个元素会出现在结果列表中。结果列表中的元素与它们在源集合中的顺序相同。

示例代码:

kotlin 复制代码
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 
}
相关推荐
冰糖葫芦三剑客1 分钟前
Android 常用工具类记录
android
布多11 分钟前
AutoreleasePool:iOS 内存管理乐章中的隐秘旋律
ios·源码阅读
三少爷的鞋11 分钟前
动态属性计算:Kotlin 中的自定义 Getter
kotlin
威哥爱编程2 小时前
谷歌Android闭源与鸿蒙崛起:一场关于技术主权的生态博弈
android·harmonyos
小鱼人爱编程3 小时前
Flutter 打包APK的几种方式
android·前端·后端
sunly_3 小时前
Flutter:切换账号功能记录
android·java·flutter
好_快4 小时前
Lodash源码阅读-baseIsEqualDeep
前端·javascript·源码阅读
好_快4 小时前
Lodash源码阅读-assignValue
前端·javascript·源码阅读
好_快4 小时前
Lodash源码阅读-copyArray
前端·javascript·源码阅读
好_快4 小时前
Lodash源码阅读-initCloneObject
前端·javascript·源码阅读