用于理解地图迭代的 Scala



我浏览了一堆代码和教程,但我仍然不明白如何通过 迭代地图以进行理解。

例如:我有一张地图。键作为字符串(学生姓名(,值作为学生详细信息。我想将学生映射迭代为每个键和值。我怎样才能通过理解来实现这一点。

这是我尝试过但无法理解的代码

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) => ...
  }

最新更新