Как удалить дубликаты из Array<String?>
в kotlin?
Kotlin - Идиоматический способ удаления повторяющихся строк из массива?
Ответ 1
Используйте distinct
функцию расширения:
val a = arrayOf("a", "a", "b", "c", "c")
val b = a.distinct() // ["a", "b", "c"]
Здесь также distinctBy
функция, которая позволяет указать, как различать элементы:
val a = listOf("a", "b", "ab", "ba", "abc")
val b = a.distinctBy { it.length } // ["a", "ab", "abc"]
Как @mfulton26, вы также можете использовать toSet
, toMutableSet
и, если вам не нужно сохранить первоначальный заказ, toHashSet
. Эти функции создают Set
вместо List
и должны быть немного более эффективными, чем distinct
.
Вы можете счесть полезным: