distinct所在位置是kotlin.collections.distinct,其相关用法介绍如下。

用法一

fun <T> Array<out T>.distinct(): List<T>

返回仅包含给定数组中不同元素的列表。

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

例子:

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
}

输出:

[a, A, b, B]
[a, b]

用法二

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>

返回仅包含给定数组中不同元素的列表。

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

例子:

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
}

输出:

[a, A, b, B]
[a, b]

用法三

fun <T> Iterable<T>.distinct(): List<T>

返回仅包含给定集合中不同元素的列表。

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

例子:

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
}

输出:

[a, A, b, B]
[a, b]