我有一个Int-> List [Int]的Map,并给出一个值,我想检查它是否已经有一个条目。如果是这样,请添加到列表中。否则,创建一个新列表并添加到其中。有没有更短的方法来做到这一点?
def map = [:]
(1..100).each { i -> if (map[i % 10] == null) { map[i % 10] = [] } map[i % 10].add(i) }
答案 0 :(得分:22)
使用带默认值的地图:
def map = [:].withDefault {[]}
(1..100).each {map[it % 10].add(it)}
每次尝试访问不存在的密钥时都会创建默认值。