2014-09-03 23 views
0

我有以下地圖:如何從嵌套地圖中移除元素?

def map = [[name:'Clark', city:'London'], [name:'Sharma', city:'London'], [name:'Maradona', city:'LA'], [name:'Zhang', city:'HK'],[name:'Ali', city: 'HK'], [name:'Liu', city:'HK']] 

然後我編組由城市地圖:

def mapGrouped = map.groupBy { it.city } 

而且我得到以下輸出:

[London:[[name:Clark, city:London], [name:Sharma, city:London]], LA:[[name:Maradona, city:LA]], HK:[[name:Zhang, city:HK], [name:Ali, city:HK], [name:Liu, city:HK]]] 

在這裏,我希望能夠刪除例如[名稱:阿里,城市:香港]

任何想法如何完成此任務?

回答

3

由於地圖是由城市已分組,您可以直接通過城市爲重點查找和表示爲收藏價值

def toRemove = [name:'Ali', city:'HK'] 
mapGrouped[toRemove.city] -= toRemove 

println mapGrouped 

你當然會作出取出所需的地圖肯定你實際上是仰視一個存在這個羣體的城市。