flatten
метод в Groovy, чтобы объединить коллекцию, содержащую другие коллекции, в одну коллекцию со всеми элементами. Мы можем передать замыкание в качестве дополнительного аргументаflatten
методу, чтобы преобразовать каждый плоский элемент. Аргументом замыкания является элемент из исходной коллекции.
Вам также может понравиться:
[DZone Refcard] Начало работы с Groovy
В следующем примере мы сначала используем flatten
метод без аргумента замыкания. Затем мы передаем аргумент замыкания и преобразуем элемент:
Groovy
x
1
def list = [1, [2, 3], [[4]]]
2
3
// Simple flatten the nested collections.
4
assert list.flatten() == [1, 2, 3, 4]
5
6
// We can use a closure to transform
7
// the elements in the resulting collection.
8
assert list.flatten { it * 2 } == [2, 4, 6, 8]