Scala-构建3个成员的元组集合

时间:2014-03-03 20:34:02

标签: scala

我正在学习Scala。我正在运行一个我想做的例子。

我想要收集3个成员的元组。

我们说我有一个清单。

val test= List("How","long","are","we","dog","dog")

所需结果:(单词,频率,位置)

Map(("How",1,1), ("long",1,2), ("are",1,3), ("we",1,4) ("dog",2,5))

我无法找到办法:

   test.collect{ case (key, v, k ) => (key,indexOf(k),freq)}

1 个答案:

答案 0 :(得分:1)

不确定你的立场是什么意思,但这里有一些可能对你有用的东西:

scala> val test = List("How","long","are","we","dog","dog")
test: List[String] = List(How, long, are, we, dog, dog)

scala> test.groupBy(identity).mapValues(_.size).toSeq.sortBy(_._2)
res0: Seq[(String, Int)] = ArrayBuffer((are,1), (How,1), (long,1), (we,1), (dog,2))