我希望有一个包含列表作为值的地图。一个工作样本是:
def someObject = 'foo'
def someMap = [:]
if (someMap['key'] == null) {
someMap['key'] = [someObject]
} else {
someMap['key'].add(someObject)
}
虽然这有效,但它有点烦人,因为我需要区分地图中的列表是否已经创建。 Groovy有办法让这更“美丽”吗?
答案 0 :(得分:2)
你可以这样做:
def someMap = [:].withDefault { [] }
然后
someMap['key'] << someObject