2016-09-16 56 views
1

我想要一张包含列表作为值的地图。工作示例是这样的:添加元素以列出或创建它,如果为空?

def someObject = 'foo' 
def someMap = [:] 
if (someMap['key'] == null) { 
    someMap['key'] = [someObject] 
} else { 
    someMap['key'].add(someObject) 
} 

虽然这个作品,它是一种恼人的,因为我需要与否地图内的名单已经被创建区分。 Groovy是否有办法让这个更“美丽”?

+1

它不是Java,这是JS。 – Denis

+0

不要把标签放在你的问题,不要紧! – GhostCat

+1

这不是JS,它是Groovy,它位于Java之上。 – Selbi

回答

2

你可以这样做:

def someMap = [:].withDefault { [] } 

然后

someMap['key'] << someObject 
相关问题