1. 程式人生 > >Groovy入門(四)——集合Map

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)