Ich möchte prüfen, ob die große Liste ( list
) alle Elemente der Unterliste enthält ( l
)
Hat groovy irgendwelche eingebauten Methoden um das zu überprüfen oder was ich im obigen Code habe?
Sie können Groovys Methode Collection.intersect(Collection right)
verwenden und prüfen, ob die zurückgegebene Sammlung so groß ist wie die, die als Argument übergeben wurde.
Sie müssen vorher die String.tokenize()
-Methode verwenden, um eine Liste aus der Zeichenkette anstelle von String.split()
zu generieren, die ein String-Array zurückgibt:
Alternativ können Sie die Object.every(Closure closure)
-Methode von Groovy verwenden und prüfen, ob jedes Element der Unterliste in der Liste enthalten ist:
Der kürzeste Weg ist jedoch die Verwendung der standardmäßigen Java Collection-API:
%Vor%Die einfachste Methode ist einfach:
%Vor%Hier finden Sie weitere Informationen: Groovy Collections
Ihre Lösung wird funktionieren. Denken Sie daran, den Knuth-Morris-Pratt-Algorithmus zu berücksichtigen, wenn Sie re beschäftigen sich mit großen Arrays von relativ wenigen diskreten Werten.
Tags und Links groovy