Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
向映射中的列表添加元素的Groovy方法?_Groovy - Fatal编程技术网

向映射中的列表添加元素的Groovy方法?

向映射中的列表添加元素的Groovy方法?,groovy,Groovy,我有一个Int->List[Int]的Map,给定一个值,我想检查它是否已经有一个条目。如果是,请添加到列表中。否则,创建一个新列表并添加到其中。有没有较短的方法可以做到这一点 def map = [:] (1..100).each { i -> if (map[i % 10] == null) { map[i % 10] = [] } map[i % 10].add(i) } 使用具有默认值的映射: def map = [:].withDefa

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

def map = [:]

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

使用具有默认值的映射:

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

(1..100).each {map[it % 10].add(it)}
每次尝试访问不存在的密钥时,都将创建默认值