Dev Faq
9
votes

Comment vérifier si une liste contient un subliste

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?
groovy

0 commentaires

3 Réponses :


-2
votes

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.


1 commentaires

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.



28
votes

Vous pouvez utiliser la collection 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.

Vous devez utiliser la méthode 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)


0 commentaires

9
votes

La méthode la plus simple consiste simplement à appeler: xxx

Vous pouvez trouver plus d'informations à ce sujet ici: collections groovy


0 commentaires

Articles qui pourrait vous intéresser :

Comment convertir WebElement en TestObject dans katalon studio?
Existe-t-il un moyen de définir des variables d'environnement basées sur une branche dans un fichier Jenkins déclaratif?
Comment atteindre 1000 points de terminaison en utilisant le multi threading dans Groovy?
Comment désactiver l'option "construire maintenant"?
© 2020 www.devfaq.fr - Licensed under  cc by-sa 3.0  with  attribution required.