【发布时间】:2021-06-03 15:03:37
【问题描述】:
我有两个函数,它们获取字符串列表和映射作为参数并返回整数列表。如图:
def f1(names: List[String], namemap: Map[String, List[Int]]): List[Int] =
def f2(names: List[String], namemap: Map[String, List[Int]]): List[Int] =
为了让下面的解释更容易理解,这里举个例子:
val nameslist = List("alex", "toby")
val namesmap = Map("sarah" -> List(5), "toby" -> List(6), "alex" -> List(1, 6))
println(f1(nameslist, namesmap))
//should print: List(6,1)
println(f2(nameslist, namesmap))
//should print: List(6)
函数f1 应该“比较”吗?列表namelist 中的字符串与映射namesmap 中的字符串,并返回找到字符串的namesmap 中的所有整数值。
函数f2 应该只返回在两个字符串中都找到的整数。
【问题讨论】:
-
你尝试过什么来解决这个问题?你能给我们你的部分解决方案吗?谢谢:)
-
这是我第一次处理这种问题,我很迷茫从哪里开始!关于我应该研究什么的任何提示?
-
在名称 Map 中使用名称 List 和
getOrElse上的map和foldLeft很容易解决;检查Scaladoc。另外,您想检查 Set 类;)
标签: scala