Мне нужно изменить элементы карты при повторении карты, в моем случае вычесть некоторые элементы (список). Как это:Groovy изменять элементы карты при повторении карты
def a = [
1: [1, 2, 3],
2: [3, 2, 4],
3: [3, 2, 4],
4: [5, 2, 1],
]
def b = [3]
println a
a.values().each{ tr ->
tr = tr - b
}
println a
a
карта не изменилась. Результат:
[1:[1, 2, 3], 2:[3, 2, 4], 3:[5, 3, 1], 4:[5, 2, 1]]
[1:[1, 2, 3], 2:[3, 2, 4], 3:[5, 3, 1], 4:[5, 2, 1]]
Однако, я хочу, чтобы результат [1:[1, 2], 2:[2, 4], 3:[5, 1], 4:[5, 2, 1]]
. Что я делаю неправильно? Из-за того, что исходная карта довольно большая, я не хочу строить другую карту с меньшим количеством элементов (карта результатов).
, что «большой»? несколько сотен? несколько тысяч? Миллионы? – robkuz