【发布时间】:2020-06-02 16:29:34
【问题描述】:
我想创建一个以单词为键、以整数列表为值的 Map。 列表中的整数应将行号表示为索引。像这样:
Map("test" -> List(0, 2), "test2"->List(1),"foo" -> List(0, 3), "bar" -> List(2))
这意味着单词 test 出现在第 0&2 行,foo 出现在第 0&3 行,bar 只出现在第 2 行。
我已经设法创建了一个包含在一行文本中出现的所有单词的列表,并将它们读到一个列表中,例如
val wordsWithLine= List((0,"test"), (0,"foo"), (1,"test2"), (2,"test"), (2,"bar"), (0,"test"), (3,"foo"))
现在我被困住了,不知道如何创建这张地图。我知道函数定义必须是这样的,但我不知道如何实现它:
def createIndexMap(listwithIndices: List[(Int, String)]): Map[String, List[Int]] = {???}
我的想法是使用 groupMapReduce() ?但我无法理解这是如何工作的。
我对 Scala 和函数式编程非常陌生,因此任何提示都将受到高度赞赏
【问题讨论】:
标签: scala mapreduce map-function