def l = ["My", "Homer"] String s = "Hi My Name is Homer" def list = s.split(" ") println list list.each{it -> l.each{it1 -> if (it == it1) println "found ${it}" } } I want to check whether big list (list) contains all elements of sublist (l) Does groovy have any built in methods to check this or what I have in the above code will do?
3 Réponses :
Votre solution fonctionnera. Assurez-vous de considérer le Algorithme Knuth-Morris-Pratt < / a> Si vous traitez avec de grands tableaux de relativement peu de valeurs discrètes. p>
Il ne demandait pas si sa solution travaillerait ou non, il demandait s'il y avait des fonctions intégrées qu'il pouvait utiliser pour le faire à la place.
Vous pouvez utiliser la collection Vous devez utiliser la méthode de Groovy.InterSect (Collection droite) CODE> méthode et vérifiez si la collection renvoyée est aussi grande que celle qui est adoptée comme argument.
string.Tengeniser () code> avant de générer une liste de la chaîne au lieu de
string.split () code> qui retourne une matrice de chaîne:
assert list.containsAll(sublist)
La méthode la plus simple consiste simplement à appeler: Vous pouvez trouver plus d'informations à ce sujet ici: collections groovy p> p>