algorithm - Kotlin: ¿forma idiomática de eliminar cadenas duplicadas de la matriz?
(1)
Use la
función de extensión
distinct
:
val a = arrayOf("a", "a", "b", "c", "c")
val b = a.distinct() // ["a", "b", "c"]
También hay
distinctBy
función
distinctBy
que permite especificar cómo distinguir los elementos:
val a = listOf("a", "b", "ab", "ba", "abc")
val b = a.distinctBy { it.length } // ["a", "ab", "abc"]
Como sugirió
@mfulton26
, también puede usar
toSet
,
toMutableSet
y, si no necesita preservar el pedido original,
toHashSet
.
Estas funciones producen un
Set
lugar de una
List
y deberían ser un poco más eficientes que
distinct
.
Puede que te resulte útil:
¿Cómo eliminar duplicados de una
Array<String?>
En kotlin?