我浏览了一堆代码和教程,但我仍然不明白如何通过 迭代地图以进行理解。
例如:我有一张地图。键作为字符串(学生姓名(,值作为学生详细信息。我想将学生映射迭代为每个键和值。我怎样才能通过理解来实现这一点。
这是我尝试过但无法理解的代码
for {
studentMap <- studRepo.getAllStudent()// returns a map
result1 <- performSomeOper(studentMap.key) // I’m not getting an option to access the key/value
result2 <- performSomeOper(studentMap.value)
} yield performYieldOps(result1, result2)
我在这里做错了什么?我是否需要将学生地图保留在理解之外?请向我提供您的意见。
for {
(key, value) <- studRepo.getAllStudent()
res1 <- performSomeOper(key)
res2 <- performSomeOper(value)
} yield ...
您可以从 Map
映射键、值。
而for comprehension
实际等于flatMap
,所以对于上面等于:
m.flatMap {
case (key, value) => ...
}