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

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

最佳答案

使用 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建议,也可以使用toSet , toMutableSet并且,如果您不需要保留原始订单,toHashSet .这些函数产生一个 Set 而不是 List 并且应该比 distinct 更高效一些。


您可能会觉得有用:

  • Kotlin idioms
  • What Java 8 Stream.collect equivalents are available in the standard Kotlin library?

https://stackoverflow.com/questions/40430297/

相关文章:

kotlin - 函数中Unit-return的目的是什么

kotlin - Kotlin 中的 "receiver"是什么?

spring - 如何在kotlin中使用@Autowired之类的spring注解?

kotlin - 有什么作用? : do in Kotlin?(猫王运算符)

java - 为什么 Kotlin 中没有并发关键字?

kotlin - 在 Kotlin 中进行空检查的最佳方法?

database - Android Room Persistence 库和 Kotlin

java - 是否可以在 Kotlin 中使用 Mockito?

kotlin - Kotlin 协程如何比 RxKotlin 更好?

list - 如何在 Kotlin 中初始化 List