76 votes

Kotlin - Une façon idiomatique de supprimer les chaînes en double d'un tableau ?

Comment supprimer les doublons d'un Array<String?> en kotlin ?

155voto

hotkey Points 119

Utilisez le distinct fonction d'extension :

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

Il y a aussi distinctBy fonction qui permet de spécifier comment distinguer les éléments :

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

Comme @mfulton26 suggéré, vous pouvez également utiliser toSet , toMutableSet et, si vous n'avez pas besoin que l'ordre original soit préservé, toHashSet . Ces fonctions produisent un Set au lieu d'un List et devrait être un peu plus efficace que distinct .


Vous pouvez trouver utile :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X