Finden, wenn jeder Wert in einer Liste in einer anderen Liste vorhanden ist
ich bin ein Neuling in groovy also ich habe eine Frage, ich habe zwei Listen, und ich möchte wissen, ob ein Wert vorhanden ist in der ersten Liste gibt es auch in der zweiten Liste, und es muss true oder false zurückgeben.
Habe ich versucht, einen kurzen test, aber es funktioniert nicht... hier ist, was ich versucht habe:
//List 1
def modes = ["custom","not_specified","me2"]
//List 2
def modesConf = ["me1", "me2"]
//Bool
def test = false
test = modesConf.any { it =~ modes }
print test
aber wenn ich ändern Sie den Wert von "me2" in die erste Reihe zu "mex2" es gibt true zurück, wenn es muss false zurückgeben,
Irgendeine Idee?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einfachste die mir einfällt, ist mit
intersect
lassen und Groovy-Wahrheit kick in.Im Falle der Geltendmachung übergeben, können Sie die gemeinsamen Elemente, die aus der Kreuzung ohne dabei eine zweite operation. 🙂
Ich glaube Sie wollen:
Diese
disjoint()
Methode gibttrue
wenn es kein Element, das in beiden Listen. Es klingt wie Sie wollen, die negation, die:Können Sie jede der disjunkten()/intersect()/any({}) die Rückgabe true/false. Nachstehend sind die Beispiele:
In diesem Fall, missingItem enthält ein element fehlt, die es in modesConf aber nicht in dem Modi. Oder wird null, wenn alles in Ordnung ist.