Как я могу сравнить два списка в Groovy

Как я могу сравнить объекты в двух списках и создать новый список с различием в Groovy?

21
задан user304966 30 March 2010 в 09:57
поделиться

2 ответа

Пересечение коллекций может помочь вам в этом, даже если это немного сложно изменить. Может быть, что-то вроде этого:

def collection1 = ["test", "a"]
def collection2 = ["test", "b"]
def commons = collection1.intersect(collection2)
def difference = collection1.plus(collection2)
difference.removeAll(commons)
assert ["a", "b"] == difference
38
ответ дан 29 November 2019 в 06:09
поделиться

Я бы просто использовал арифметические операторы, я думаю, что это намного больше очевидно, что происходит:

def a = ["foo", "bar", "baz", "baz"]
def b = ["foo", "qux"]

assert ["bar", "baz", "baz", "qux"] == ((a - b) + (b - a))
48
ответ дан 29 November 2019 в 06:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: