2013-05-05 80 views
0

我有一個元素地圖,其中每個元素都有一個List作爲其值Convert map to get size of list in each element

例如,

Map(a -> List(a, a), b -> List(b, b), l -> List(l, l, l), h -> List(h)

我想這種轉換,使每個值列表例如大小

Map(a -> 2, b -> 2, l -> 3, h -> 1

我嘗試:

myMap.map(x => x.size()) 

這給...

error: value size is not a member of (Char, List[Char]) 

任何提示,我該怎麼做呢?

謝謝。

回答

3

快速解決方案:myMap.mapValues(x => x.size)。標準map映射在鍵值對上。

+0

我不得不做myMap.mapValues(x => x.size)size()給Int不帶參數不知道爲什麼。 – 2013-05-05 20:36:32

+0

@MoreThanFive對,我糾正了我的答案。 'size'是一個沒有參數列表的方法,所以你不能把它稱爲給出任何參數列表(甚至是空的)。這是因爲scala區分了像def size:Int和def size():Int'這樣的方法。 – ghik 2013-05-05 20:40:19

相關問題