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]