, wie überprüft werden kann, ob eine Liste eine Unterliste enthält

7
%Vor%

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?

    
Omnipresent 09.12.2009, 03:14
quelle

3 Antworten

18

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:

%Vor%

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:

%Vor%

Der kürzeste Weg ist jedoch die Verwendung der standardmäßigen Java Collection-API:

%Vor%     
Christoph Metzendorf 09.12.2009, 10:09
quelle
7

Die einfachste Methode ist einfach:

%Vor%

Hier finden Sie weitere Informationen: Groovy Collections

    
Brandon 18.12.2009 21:51
quelle
-2

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.

    
Matthew 09.12.2009 03:18
quelle

Tags und Links