Всем привет!
Что-то ни как не могу придумать внятного решения для такой задачи: есть два списка
def list1 = ["/dir/elem1","/dir/elem2","/dir/elem3","/dir/elem4","/dir/elem5","/dir/elem6",];
def list2 = ["elem1","elem6",];
Хочу из list1 удалить все элементы, кроме тех что есть в list2, что бы в итоге получилось:
def list3 = ["/dir/elem3","/dir/elem4","/dir/elem5","/dir/elem6",];
Делаю я это так:
list2.each {
for (i in list1) { if (!i.contains(it)) { list2 << i}}
}
Проблема в том, что итоговый список содержит все элементы:
["/dir/elem2","/dir/elem3","/dir/elem4","/dir/elem5","/dir/elem6","/dir/elem1","/dir/elem2","/dir/elem3","/dir/elem4","/dir/elem5"]