一种Groovy方法将元素添加到地图中的列表?

Yos*_*ale 8 groovy

我有一个Int-> List [Int]的Map,并给出一个值,我想检查它是否已经有一个条目.如果是这样,请添加到列表中.否则,创建一个新列表并添加到其中.有没有更短的方法来做到这一点?

def map = [:]

    (1..100).each { i ->
        if (map[i % 10] == null) {
            map[i % 10] = []
        }
        map[i % 10].add(i)
    }
Run Code Online (Sandbox Code Playgroud)

Tom*_*icz 22

使用带默认值的地图:

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

(1..100).each {map[it % 10].add(it)}
Run Code Online (Sandbox Code Playgroud)

每次尝试访问不存在的密钥时,都会创建默认值.