如何迭代到scala映射以在Seq中保存内容



我有一个scala映射,它将字符及其频率存储在字符串中,然后我需要获取该映射并将其所有内容保存到Seq中,例如:

map[Char,int] = map[T,Int](a -> 3,b-> 2, c -> 1) => Seq[Char] = Seq[Char](a,a,a,b,b,c)

任何人都有任何关于我如何实现这一点的建议,或者关于我如何迭代地图的建议

在Map和循环上迭代,直到字符的频率,并在循环内返回相同频率的字符。

你可以这样做。

val x = Map('a' -> 3,'b' -> 2, 'c' -> 1)
x.flatMap {case(char,freq) =>
(1 to freq).map(_ => char)
}.toSeq 

最新更新