Groovy入门(四)——集合Map

Map

map声明方式

def myMap =['a':1,'b':2,'c':3]
assert myMap instance HashMap
assert myMap.size() == 3
assert myMap['a'] == 1
def emptyMap = [:]
assert emptyMap.size() ==0

def map = new TreeMap()
map.putAll(myMap)
assert map['a'] == 1

map操作符

def map = ['a':1,'b':2,'c':3]
assert map['a'] == 1
assert map.a ==1
assert map.get('a') ==1
assert map.get('a',0) == 1

assert map['d'] ==null
assert map.d ==null
assert map.get('d') == null

map['d'] =1
assert map.d ==1
map.e =2
assert map.e ==2

map常用方法

def map =['a':1,'b':2,'c':3]
assert map.isEmpty() == false
assert map.size() == 3
assert map.containskey('a')
assert map.containsValue(1)
assert map.any{entry->entry.value>2}
assert map.every{entry->entry.key<'d'}

map实战——单词统计

def text ="""
Look for the bare necessities
The simple bare necessities
Forget about your worries and your strife
I mean the bare necessities
Old Mother Nuture's recipes
That bring the bare necessities of life
"""
def words = text.tokenize()
def wordFrequency =[:]
words.each{word->
    wordFrequency[word] = wordFrequency.get(word,0)+1

}
def wordList =wordFrequency.keySet().toList()
wordList.sort {wordFrequency[it]}
def statistic = '\n'
wordList.reverse().each {word->
    statistic+=word.padLeft(12)+": "
    statistic+=wordFrequency[word]+"\n"
}
println(statistic)

你可能感兴趣的:(Groovy入门)