编写一个函数,接受一个字符串的集合,以及一个从字符串到整数值的映射。返回整型的集合,其值为能和集合中某个字符串相对应的映射的值。举例来说,给定Array ("Tom","Fred","Harry")和Map ("Tom"-> 3,"Dick"-> 4,"Harry"-> 5),返回Array(3,5)。提示:用flatMap将get返回的Option值组合在一起。
时间: 2023-07-19 09:17:06 浏览: 128
有返回值的函数
可以使用 `flatMap` 和 `get` 方法来实现此功能。以下是一个可能的实现:
```scala
def getValues(strings: Seq[String], map: Map[String, Int]): Seq[Int] = {
strings.flatMap(map.get)
}
```
这个函数接受一个字符串集合 `strings` 和一个从字符串到整数值的映射 `map`,并返回一个整数集合,其中每个整数值都是能和 `strings` 集合中某个字符串相对应的映射的值。具体来说,`flatMap` 方法将 `map.get` 应用于每个字符串,并将结果组合在一起。`map.get` 方法返回一个 `Option[Int]` 类型的值,表示给定键的值(如果存在)或 `None`(如果不存在)。因此,`flatMap` 方法返回一个 `Seq[Int]`,其中不包括那些没有映射值的字符串。
阅读全文