本文方法及代码示例基于Kotlin 2.1.20 Released
distinct
所在包 kotlin.collections.distinct
,其相关用法介绍如下:
用法一
kotlin
fun <T> Array<out T>.distinct(): List<T>
返回仅包含给定数组中不同元素的列表。
在给定数组的相等元素中,只有第一个元素会出现在结果列表中。结果列表中的元素与它们在源数组中的顺序相同。
用法二
kotlin
fun ByteArray.distinct(): List<Byte>
fun ShortArray.distinct(): List<Short>
fun IntArray.distinct(): List<Int>
fun LongArray.distinct(): List<Long>
fun FloatArray.distinct(): List<Float>
fun DoubleArray.distinct(): List<Double>
fun BooleanArray.distinct(): List<Boolean>
fun CharArray.distinct(): List<Char>
返回仅包含给定数组中不同元素的列表。
结果列表中的元素与它们在源数组中的顺序相同。
用法三
kotlin
fun <T> Iterable<T>.distinct(): List<T>
返回仅包含给定集合中不同元素的列表。
在给定集合的相同元素中,只有第一个元素会出现在结果列表中。结果列表中的元素与它们在源集合中的顺序相同。
示例代码:
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
}