Kotlin - 从数组中删除重复字符串的惯用法?

时间:2016-11-04 19:18:45

标签: algorithm kotlin

如何从kotlin中的Array<String?>删除重复项?

1 个答案:

答案 0 :(得分:108)

使用distinct extension function

val a = arrayOf("a", "a", "b", "c", "c")
val b = a.distinct() // ["a", "b", "c"]

还有distinctBy function允许指定如何区分项目:

val a = listOf("a", "b", "ab", "ba", "abc")
val b = a.distinctBy { it.length } // ["a", "ab", "abc"]

根据@mfulton26建议,您还可以使用toSettoMutableSet,如果您不需要保留原始排序,则toHashSet。这些函数生成Set而不是List,并且应该比distinct更有效。

您可能会觉得有用: