Kotlin - Idiomatiques façon de supprimer les doublons de chaînes à partir de la matrice?
Comment faire pour supprimer les doublons d'une Array<String?>
dans kotlin?
Vous devez vous connecter pour publier un commentaire.
Comment faire pour supprimer les doublons d'une Array<String?>
dans kotlin?
Vous devez vous connecter pour publier un commentaire.
Utiliser le
distinct
fonction d'extension:Il y a aussi
distinctBy
function qui permet de spécifier comment distinguer les objets:Comme @mfulton26 suggéré, vous pouvez également utiliser
toSet
,toMutableSet
et, si vous n'avez pas besoin de l'original de la commande pour être conservée,toHashSet
. Ces fonctions produisent unSet
au lieu d'unList
et devrait être un peu plus efficace quedistinct
.Vous pouvez trouver utile:
toSet
outoMutableSet
qui ont moins de frais généraux quedistinct
et si la commande n'a pas d'importance, vous pouvez utilisertoHashSet
.to*Set
est plus efficace (espace & fois) quedistinct[By]
car il renvoie laSet
directement au lieu d'utiliser unSet
en interne et en la convertissant en uneList
que sa valeur de retour et 2)distinctBy
est peut être plus efficace quedistinct
tout simplement parce que vous pouvez éviter le plein d'objet de comparaison d'égalité. Les deux sont des points valides. J'ai couru avec votre affirmation que "certes, il n'est pas toujours frais généraux" et j'ai eu la réponse à cela et oublier que vous étiez en comparantdistinct
avecdistinctBy
(et pas avecto*Set
).