groovy map操作没有给出预期的价值

时间:2016-04-06 03:46:25

标签: groovy scripting

我试图在xml文件中找到重复的标签。我写了以下内容:

def xml = new XmlSlurper(false,false).parse('myfile.xml')
List<String> intNames =  xml.depthFirst().findAll {
    it.name() == 'InternalName'
}

println "Total:" + intNames.size()

// println“Unique:”+ intNames.unique()。size()

def map = [:]

for(itm in intNames){
    if(map.get(itm) == null)
        map.put(itm, 1)
    else{
        def val = map.get(itm)
        map.put(itm, val + 1)
        println itm
    }
}


    println "map size: ${map.size()}"

结果显示为:

Total:13811
map size: 13811

如果我取消注释该行

// println "Unique:" + intNames.unique().size()

然后它看起来像

Total:13811
Unique:13792
map size: 13792

那么,如果unique的值较少,那么为什么else子句不能打印任何东西?

0 个答案:

没有答案