Comment puis-je comparer deux tableaux contient les mêmes éléments ou de ne pas en groovy?
Comment puis-je comparer deux tableaux contient les mêmes éléments ou pas?
def a = [1, 3, 2]
def b = [2, 1, 3]
def c = [2, 4, 3, 1]
a & b sont contient les mêmes éléments, mais a & c pas.
- Ce sont des listes, pas de tableaux... Qui voulez-vous dire?
- ils sont des tableaux
- dans le code ci-dessus, ils ne sont pas des tableaux, ils sont des listes
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer de convertir en Séries puis en les comparant, que l'égalité dans des Ensembles est défini comme ayant les mêmes éléments, quelle que soit la commande.
Simplement trier les résultats et la comparaison est un moyen facile, si vos listes ne sont pas trop grandes:
La
false
passé àsort
est à éviter en place de la réorganisation. Si c'est OK pour modifier l'ordre des listes, vous pouvez le supprimer et éventuellement gagner un peu de performance.true
oufalse
. Je pense queassert haveSameContent(a, b)
etassert !haveSameContent(a, c)
lit mieux.== false
que vous vous attendez à une fausse sortie. Il est plutôt facile de rater un seul point d'exclamation lorsque vous consultez le code. (Aussi, n'oubliez pas, en raison de Groovy vérité,!0
ou![]
retournetrue
, maisassert [] == false
échoue.)