添加元素到列表或创建它如果为null?

时间:2016-09-16 11:49:44

标签: list dictionary groovy

我希望有一个包含列表作为值的地图。一个工作样本是:

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

虽然这有效,但它有点烦人,因为我需要区分地图中的列表是否已经创建。 Groovy有办法让这更“美丽”吗?

1 个答案:

答案 0 :(得分:2)

你可以这样做:

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

然后

someMap['key'] << someObject